-
[프로그래머스][Kotlin] 덧칠하기프로그래머스 2023. 3. 3. 17:01728x90
해당 문제는 보자마자 deque를 이용하여 풀면 될 것 같다는 생각이 들었습니다.
저의 경우 처음에 생각하지 못했던 케이스때문에 시간이 조금 걸렸었습니다.
바로 하기와 같은 케이스 였습니다. 비겁한(?) 변명이지만 문제에 있는 예시만 생각하다가 하기와 같은 케이스를 생각하지 못하였었습니다. 즉 중간에 건너 뛰어버리는 칸이 있을 수도 있다는 것을..... 생각하는게 늦었었습니다.
1 2 3 4 5 6 7 8 9 10 O O O O O O O 그리고 다 작성하고서 생각해보니 BooleanList 혹은 IntArray 등을 이용하여 만들 수도 있겠구나 라고도 생각이 들어 추후 추가 작성할 수 있도록 하겠습니다.
하기는 작성한 코드와 실행 결과 입니다.
import java.util.ArrayDeque class Solution { fun solution(n: Int, m: Int, section: IntArray): Int { var answer: Int = 0 var dq1 = ArrayDeque<Int>() var dq2 = ArrayDeque<Int>() for(i in section.first() .. n){ dq1.add(i) } section.forEach { dq2.add(it) } while(!dq2.isEmpty()){ while(dq1.peekFirst() != dq2.peekFirst()){ dq1.poll() } repeat(m){ if (dq1.peekFirst() == dq2.peekFirst()){ dq1.poll() dq2.poll() } else { dq1.poll() } } answer++ } return answer } }
테스트 1 〉 통과 (27.89ms, 68.9MB) 테스트 2 〉 통과 (30.29ms, 71.3MB) 테스트 3 〉 통과 (29.91ms, 68.1MB) 테스트 4 〉 통과 (36.97ms, 65MB) 테스트 5 〉 통과 (24.11ms, 67.8MB) 테스트 6 〉 통과 (21.12ms, 62.7MB) 테스트 7 〉 통과 (26.44ms, 65.1MB) 테스트 8 〉 통과 (37.93ms, 66.6MB) 테스트 9 〉 통과 (14.46ms, 62.1MB) 테스트 10 〉 통과 (28.65ms, 67.1MB) 테스트 11 〉 통과 (15.14ms, 63.7MB) 테스트 12 〉 통과 (25.29ms, 68.1MB) 테스트 13 〉 통과 (40.51ms, 71MB) 테스트 14 〉 통과 (25.80ms, 69.2MB) 테스트 15 〉 통과 (13.77ms, 61.8MB) 테스트 16 〉 통과 (31.48ms, 67.6MB) 테스트 17 〉 통과 (38.37ms, 67.8MB) 테스트 18 〉 통과 (28.99ms, 65.3MB) 테스트 19 〉 통과 (29.21ms, 68MB) 테스트 20 〉 통과 (37.56ms, 67.5MB) 테스트 21 〉 통과 (29.21ms, 68.9MB) 테스트 22 〉 통과 (36.19ms, 67.8MB) 테스트 23 〉 통과 (27.10ms, 68.9MB) 테스트 24 〉 통과 (15.55ms, 63.1MB) 테스트 25 〉 통과 (55.80ms, 66.6MB) 테스트 26 〉 통과 (33.74ms, 67MB) 테스트 27 〉 통과 (45.76ms, 64.3MB) 테스트 28 〉 통과 (42.13ms, 65.7MB) 테스트 29 〉 통과 (24.49ms, 62.5MB) 테스트 30 〉 통과 (20.41ms, 61.9MB) 테스트 31 〉 통과 (37.04ms, 64.8MB) 테스트 32 〉 통과 (35.44ms, 64.7MB) 테스트 33 〉 통과 (25.54ms, 64.7MB) 테스트 34 〉 통과 (20.99ms, 62.8MB) 테스트 35 〉 통과 (42.60ms, 68.6MB) 테스트 36 〉 통과 (26.29ms, 65.6MB) 테스트 37 〉 통과 (35.14ms, 65.5MB) 테스트 38 〉 통과 (18.79ms, 62.9MB) 테스트 39 〉 통과 (36.92ms, 66.9MB) 테스트 40 〉 통과 (15.07ms, 62.1MB) 테스트 41 〉 통과 (31.49ms, 69.9MB) 테스트 42 〉 통과 (13.94ms, 62.6MB) 테스트 43 〉 통과 (34.44ms, 64.7MB) 테스트 44 〉 통과 (34.84ms, 65.1MB) 테스트 45 〉 통과 (33.90ms, 69.5MB) 테스트 46 〉 통과 (30.47ms, 64.7MB) 테스트 47 〉 통과 (27.77ms, 70.5MB) 테스트 48 〉 통과 (26.49ms, 68.2MB) 테스트 49 〉 통과 (32.94ms, 67.6MB) 테스트 50 〉 통과 (30.34ms, 71.2MB) '프로그래머스' 카테고리의 다른 글
[프로그래머스][Kotlin] 무인도 여행 (0) 2023.03.07 [프로그래머스][Koltin] 미로 탈출 (0) 2023.03.06 [프로그래머스][Kotlin] 바탕화면 정리 (0) 2023.03.03 [프로그래머스][Kotlin][이분탐색]입국심사 (0) 2023.02.28 [프로그래머스][Kotlin]혼자서 하는 틱택토 (0) 2023.02.27