Programmers - 주차 요금 계산(Java)
https://programmers.co.kr/learn/courses/30/lessons/92341 코딩테스트 연습 - 주차 요금 계산 [180, 5000, 10, 600] ["05:34 5961 IN", "06:00 0000 IN", "06:34 0000 OUT", "07:59 5961 OUT", "07:59 0148 IN", "18:59 0000 IN", "19:09 0148 OUT", "22:59 5961 IN", "23:00 5961 OUT"] [14600, 34400, 5000] programmers.co.kr 2개의 map과 한 개의 set을 이용해 누적 시간 및 차량 내역을 기록 정산한 후 다시 주차하는 차량도 있기 때문에 차량번호가 중복되지 않게 Set을 이용해 기록 요금 계산 시, 분 ..
2022. 2. 13.
Programmers - 표 편집(Java)
https://programmers.co.kr/learn/courses/30/lessons/81303 코딩테스트 연습 - 표 편집 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr 풀이 삭제와 복원 기능의 시간을 최소화하는 Linked List를 이용하여 풀이 Node의 연결 관계만 변경하면 삭제된 Node가 있더라도 이동 명령을 수행하기 편함 Linked List 정의 및 초기화 입력값 n의 최대값 만큼 Node 배열을 생성 0 ~ n-1 의 Node의 prev/next를 이전/다음 No..
2022. 2. 8.
Programmers - 사라지는 발판(Java)
https://programmers.co.kr/learn/courses/30/lessons/92345 코딩테스트 연습 - 사라지는 발판 [[1, 1, 1], [1, 1, 1], [1, 1, 1]] [1, 0] [1, 2] 5 [[1, 1, 1], [1, 0, 1], [1, 1, 1]] [1, 0] [1, 2] 4 programmers.co.kr 풀이 다음 2가지의 경우에 승패가 결정됨 상하좌우 4방향 중 어떠한 방향으로도 이동 불가인 경우 하나의 발판에 2명이 위치할 때, 한명이 다른 발판으로 이동하여 현재 발판이 사라질 때 지는 플레이어든 이기는 플레이어든 각자 최적의 플레이로 진행 이기는 플레이어 - 최대한 빨리 승리하는 방향으로 진행 -> 움직이는 횟수를 최소화 지는 플레이어 - 최대한 오래 버티는..
2022. 2. 3.
Programmers - 파괴되지 않은 건물(Java)
https://programmers.co.kr/learn/courses/30/lessons/92344 코딩테스트 연습 - 파괴되지 않은 건물 [[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5]] [[1,0,0,3,4,4],[1,2,0,2,3,2],[2,1,0,3,1,2],[1,0,1,3,3,1]] 10 [[1,2,3],[4,5,6],[7,8,9]] [[1,1,1,2,2,4],[1,0,0,1,1,2],[2,2,0,2,0,100]] 6 programmers.co.kr 풀이 단순 입력값에 대한 모든 요소를 갱신하는 방법으로 해결은 가능하지만, 효율성에서 시간초과 발생 - O(N * M * K)의 시간복잡도 (N = skill 횟수, M, K = 2중 for문) 시작점에 +N..
2022. 1. 30.
Programmers - 양과 늑대(Java)
https://programmers.co.kr/learn/courses/30/lessons/92343 코딩테스트 연습 - 양과 늑대 [0,0,1,1,1,0,1,0,1,0,1,1] [[0,1],[1,2],[1,4],[0,8],[8,7],[9,10],[9,11],[4,3],[6,5],[4,6],[8,9]] 5 [0,1,0,1,1,0,1,0,0,1,0] [[0,1],[0,2],[1,3],[1,4],[2,5],[2,6],[3,7],[4,8],[6,9],[9,10]] 5 programmers.co.kr 풀이 풀이에 필요한 변수 정의 및 초기화 탐색마다 갱신해야하는 최대 양의 수 해당 index의 자식 Node를 담고 있는 ArrayList배열 함수내에서 편하게 쓰기위한 입력값 info와 같은 값으로 전역변수 정의..
2022. 1. 24.