코딩테스트 풀이/카카오
2019 카카오 개발자 겨울 인턴십 코딩테스트 - 크레인 인형뽑기 게임
Essense
2020. 4. 4. 00:09
728x90
완전탐색을 이용하였고
Stack을 사용하여 바구니를 구현하였다.
언어: Kotlin
소스코드:
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 32 33 34 35 36 37 38 39 40 41 | import java.util.* class Solution { fun solution(dollBox: Array<IntArray>, picker: IntArray): Int { var answer = 0 val basket = Basket() for (pick in picker) { for (dolls in dollBox) { val pickedDoll = dolls[pick-1] if (pickedDoll!=0) { dolls[pick-1] = 0 basket.stack(pickedDoll) break } } } answer = basket.pair*2 return answer } class Basket { val things = Stack<Int>() var pair = 0 private set fun stack(thing: Int) { if (things.size>0 && things.lastElement()==thing) { things.pop() pair++ } else { things.push(thing) } } } } | cs |
728x90