일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- java의 정석
- 1300번
- java
- programmers
- Design Patterns
- 자바의 정석
- 11286번
- 백준
- 9장
- springboot
- BOJ
- Adapater Pattern
- Spring
- 코딩 테스트
- Dxerr.h
- 2156번
- 코딩테스트
- 17장
- 2206번
- SerialDate 리펙터링
- 11758번
- 프로그래머스
- 가장 긴 증가하는 부분 수열2
- Design Pattern
- 10830번
- 냄새와 휴리스틱
- 클린코드
- 1043번
- DxTrace
- 2166번
- Today
- Total
목록Coding Test (62)
Don't give up!
코딩테스트 연습 - 메뉴 리뉴얼 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 만들 수 있는 코스의 메뉴를 모두 나열하고, 코스의 단품메뉴 조합이 가장 많이 주문된 코스를 결과에 추가함으로서 문제를 해결하고자 하였습니다. HashMap을 사용하여 코스 메뉴와 손님이 주문한 횟수를 연결짓고자 하였고 PriorityQueue를 사용하여 반환 결과의 정렬을 구현하고자 하였습니다. 코드 import java.util.Priority..
코딩테스트 연습 - 행렬 테두리 회전하기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 행렬에서 테두리를 회전하는 것을 상/하/좌/우 4개의 직선 행렬로 나누어 원소를 한 칸씩 이동시키는 것으로 바꾸어 생각하였습니다. 원소의 이동은 이동할 위치의 원소 값을 따로 저장하고, 해당 위치에 이전 인덱스의 원소를 복사하는 과정을 반복하여 구현할 수 있습니다. 문제에서 주어진 시계방향을 그대로 사용한다면 반복문마다..
코딩테스트 연습 - 조이스틱 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 좌/우 방향을 결정하는 요소는 '어디서 다음 상/하 버튼을 눌러야하는가?'입니다. 만약 다음 위치까지 좌측버튼을 누르는 횟수가 우측 버튼을 눌러야 하는 횟수보다 작다면 좌측버튼을 눌러 이동하여야 합니다. 이동한 후에도 탐색방향을 결정해야 하는데, 이는 탐색해야할 문자의 수를 통해 결정할 수 있습니다. 전체적으로 누르게 될 상/하 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dUTCba/btq4p37UDFT/0iwj5CeGxRBGJzy8YA07A1/img.png)
코딩테스트 연습 - 멀쩡한 사각형 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 시작점 (0,0), 도착점 (h,w)인 직선은 (1,w/h), (2,2w/h)인 점을 지나갑니다. 직선의 기울기가 일정하므로 직선이 지나는 사각형의 패턴은 y값이 정수가 정수로만 이루어진 점들 사이의 구간의 패턴으로 볼 수 있습니다. 따라서 (0,0)부터 정수 (x,y)까지의 범위에서 직선이 지나는 사각형의 수 X 패..
코딩테스트 연습 - 게임 맵 최단거리 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 그래프 탐색이므로 DFS 또는 BFS를 사용해야 겠다고 생각이 들었습니다. DFS를 사용할 경우 모든 경로를 탐색한 후 거리들을 비교하여 최소값을 반환하여 해결할 수 있지만 BFS는 먼저 목적지에 도달한 경로가 최단 거리의 경로이므로 더 빠르게 결과를 얻을 수 있다고 생각했습니다. 코드..
코딩테스트 연습 - H-Index | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 오름차순으로 정렬된 배열에서 원소보다 같거나 더 큰 인용횟수를 가진 논문은 더 높은 인덱스를 갖습니다. 만약 [6,6,6]과 같이 조건을 만족하는 인용횟수 최솟값이 (논문의 수 - 원소의 인덱스) 값보다 큰 경우 더 작은 값을 h 값으로 저장해야합니다. 각 원소를 순회하며 원소 값과 원소 값 이상의 인용횟수를 가..
코딩테스트 연습 - 타겟 넘버 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 서로 다른 수들의 합 또는 차로 타겟 넘버가 결정되기 때문에 모든 경우를 직접 계산하여 확인하여야 한다고 생각했다. k번째 정수까지 계산을 끝냈을때 k+1번째 정수는 + 또는 -로 두가지 경우의 결과를 계산하여야 합니다. 이러한 문제를 DFS(깊이 우선 탐색)을 통해 간단한 코드로 해결하고자 하..
코딩테스트 연습 - 오픈채팅방 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 입력 받는 문자열들은 모두 "[행동] [유저아이디]" 또는 "[행동] [유저아이디] [닉네임]"으로 이루어져 있습니다. 가장 마지막에 입력된 닉네임으로 메시지에 출력되기 때문에 유저아이디 - 닉네임으로 먼저 저장을 하는 작업을 수행한 후 행동에 따른 메시지를 출력하는 것으로 문제를 해결할 수 있다고 생각하였습니다. 코드 import java.uti..