일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 2166번
- DxTrace
- 1043번
- Spring
- 자바의 정석
- 가장 긴 증가하는 부분 수열2
- BOJ
- 17장
- 11286번
- 냄새와 휴리스틱
- java의 정석
- 11758번
- 클린코드
- 백준
- programmers
- Dxerr.h
- 2156번
- springboot
- SerialDate 리펙터링
- Design Patterns
- 2206번
- 9장
- Design Pattern
- 코딩테스트
- 10830번
- 코딩 테스트
- 프로그래머스
- 1300번
- Adapater Pattern
- java
- Today
- Total
목록코딩테스트 (16)
Don't give up!
코딩테스트 연습 - 가장 먼 노드 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? Queue를 사용한 BFS를 통해 1번 노드로부터 각 노드로의 최단 경로를 찾을 수 있습니다. 모든 노드까지의 최단 경로를 찾은 후 각 거리의 길이를 계산함으로서 최대 값을 갖고 있는 원소의 수를 알아낼 수 있겠다고 생각하였습니다. 코드 import java.util.*; class Solution { private boolean[][] lines; private int[] dists; public int solu..
코딩테스트 연습 - 카펫 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 테두리 1줄이 갈색으로 칠해져 있으므로 갈색 타일의 수는 (가로줄+세로줄)x2-4로서 확인할 수 있습니다. 또한 전체 타일은 가로줄 x 세로줄이며 갈색 타일과 노란색 타일의 합으로 이루어져 있으므로 두 식을 이용하여 가로줄과 세로줄의 조합이 올바른 조합인지 판단할 수 있습니다. 코드 class Solution { public int[] solutio..
코딩테스트 연습 - 쿼드압축 후 개수 세기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 쿼드압축 후 개수 세기 [[1,1,0,0],[1,0,0,0],[1,0,0,1],[1,1,1,1]] [4,9] [[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[0,0,0,0,1,1,1,1],[0,1,0,0,1,1,1,1],[0,0,0,0,0,0,1,1],[0,0,0,0,0,0,0,1],[0,0,0,0,1,0,0,1],[0,0,0,0,1,1,1,1]] [10,15] programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 압축한 영역이 모두 같은 숫자를 가지고 있는지 확인하기 위해서는 내부의 영역이 나타내는 숫자를 확인하여야 합니다. 가장 작은 영역단위(1x1크기)부..
코딩테스트 연습 - 괄호 회전하기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 닫힌 괄호 문자가 열린 괄호 문자보다 먼저 나타나면 문자열은 올바른 괄호 문자열이라고 판단할 수 없으며 괄호 안에 다른 괄호가 들어있는 경우 가장 안쪽의 괄호는 열린괄호와 닫힌 괄호가 같이 존재해야 합니다. 따라서 처음 확인되는 닫힌 괄호는 열린 괄호 바로 다음의 인덱스에 위치하여야 함을 생각하였으며 올바르다고 판단된 열린 괄호와 닫힌 괄호는 검사에서 제외함으로서 외부 괄호가 올바른 괄호 문자열을 형성하고 있는지 판단할 수 있을 것이라고 생각하였습니다. 코드 import java.util.Stack; class Solut..
코딩테스트 연습 - 메뉴 리뉴얼 | 프로그래머스 (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 어떻게 생각하고 문제를 풀었는가? 좌/우 방향을 결정하는 요소는 '어디서 다음 상/하 버튼을 눌러야하는가?'입니다. 만약 다음 위치까지 좌측버튼을 누르는 횟수가 우측 버튼을 눌러야 하는 횟수보다 작다면 좌측버튼을 눌러 이동하여야 합니다. 이동한 후에도 탐색방향을 결정해야 하는데, 이는 탐색해야할 문자의 수를 통해 결정할 수 있습니다. 전체적으로 누르게 될 상/하 ..
코딩테스트 연습 - 멀쩡한 사각형 | 프로그래머스 (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 패..