본문 바로가기

전체207

[프로그래머스] 후보키 난이도: Level 2 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42890 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr RDB의 이론 기본 지식을 알고 있으면 문제를 조금 더 빨리 이해할 수 있습니다. RDB에서, 후보 키 개념을 간단하게 설명해 보겠습니다. 각 칼럼 (DB에서는 attribute; 속성이라고 합니다)은 특.. 2022. 3. 21.
[프로그래머스] 메뉴 리뉴얼 난이도: Level 2 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 2020년 하반기에 진행됐던 '2021 KAKAO Blind Recruitment' 기출문제입니다. 개인적으로 이 문제는 Level 2가 아닌 것 같습니다... Level 3 정도는 되어야할듯 합니다 ㅠㅠ 기본적으로는 탐색을 이용하여 가능한 경우의 수 중 특정 조건을 만족하는 경우를 찾는 것입니다. 문제가 길어서 요구조건을 이해.. 2022. 3. 18.
[프로그래머스] 짝지어 제거하기 난이도: Level 2 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 짝지어 있는 문자를 제거할 때, 모든 문자를 제거할 수 있는지 여부를 확인하여 출력하는 문제입니다. 문자열의 길이는 최대 100만이고, 여러 번 검사해야 할 수도 있기 때문에 시간복잡도를 고려해서 짜야 합니다. 제가 생각한 방법입니다. stack 자료구조를 이용해서 해결하며, 아래와 같은 과정을 거칩니다. stac.. 2022. 3. 17.
[Spring] 스프링의 DB 접근 기술 간단 소개 개요 2003년에 스프링이 최초로 공개된 이래로, 스프링은 DB에 접근하는 방법을 꾸준히 발전시켜 왔습니다. 객체지향 관점에서 개발하는 스프링과, 관계를 중심으로 데이터를 저장하는 RDBMS는 접근 방식부터 차이가 있기 때문에, 이 둘을 함께 이용하여 개발하기란 쉽지 않습니다. 이 글에서는 Java와 스프링의 DB 접근 기술이 어떻게 발전되어 왔는지 순서대로 나열하여 소개해 보고자 합니다. (iBatis/MyBatis는 이 글에서는 다루지 않았습니다.) 순수 JDBC Spring JdbcTemplate JPA 스프링 데이터 JPA 1. 순수 JDBC JDBC는 Java Database Connectivity의 약자로, Java 환경에서 DB에 접근하기 위한 표준 API입니다. JDBC는 Spring 프레.. 2022. 3. 16.
[프로그래머스] 124 나라의 숫자 난이도: Level 2 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/12899 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 10진수 입력값을 '124 숫자'로 바꾸어 출력하는 문제입니다. 124 숫자는 모든 값을 '1', '2', '4'를 이용해 나타냅니다. 문제에서 주어진 예시를 확장해 보면 아래와 같습니다. 10진수 124 숫자 10진수 124 숫자 10진수 124 숫자 1 1 6 14 11 42 2 2 7 21 12 44 3 4 8 22 13 111 4 11 9 24 14 112 5 12 10 41 15 114 접근한 방법 숫자 3개를 이용하여 값을 나타낸다고 하면, 바로 떠오르는 것이 '3진법' 입니다. 2진법이.. 2022. 3. 16.
[프로그래머스] 카카오프렌즈 컬러링북 난이도: Level 2 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/1829 코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr 그림이 주어졌을 때, 상하좌우가 같은 색깔인 경우 '이어져 있다'고 부릅니다. 이어져 있는 영역의 개수를 구하고, 그 중 가장 넓이가 큰 영역의 넓이를 구하는 문제입니다. 단, 색깔이 0인 경우에는 그림이 아닌 것으로 판단하여 넓이의 갯수 및 크기에 합산하지 않습니다. 같은 색이 어디까지 이어져 있는지 확인하려면 탐색을 해야 하므.. 2022. 3. 11.