Simple&Natural

2019 카카오 개발자 겨울 인턴십 코딩테스트 - 크레인 인형뽑기 게임 본문

코딩테스트 풀이/카카오

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