[프로그래머스] 2019 카카오 개발자 겨울 인턴십 > 크레인 인형뽑기 게임 (64061)(Kotlin)

원본 문제 보기


문제 풀이1

import java.util.Stack

class Solution {
    fun solution(board: Array<IntArray>, moves: IntArray): Int {
        val stack = Stack<Int>()
        var count = 0

        moves.forEach { x ->
            for (y in board.indices) {
                if (board[y][x - 1] != 0) {
                    if (stack.isEmpty()) {
                        stack.push(board[y][x - 1])
                    } else {
                        if (stack.peek() == board[y][x - 1]) {
                            stack.pop()
                            count += 2
                        } else {
                            stack.push(board[y][x - 1])
                        }
                    }

                    board[y][x - 1] = 0
                    break
                }
            }
        }

        return count
    }
}