티스토리 뷰

https://programmers.co.kr/learn/courses/30/lessons/64061

 

코딩테스트 연습 - 크레인 인형뽑기 게임

[[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4

programmers.co.kr

 

import Foundation

func solution(_ board:[[Int]], _ moves:[Int]) -> Int {
    
    var stack: [Int] = []
    var board = board
    var boom = 0
    let limit = board.count
    
    for move in moves {
        let j = move - 1
        for i in 0..<limit {
            if board[i][j] != 0 {
                if !stack.isEmpty && stack.last! == board[i][j] {
                    while !stack.isEmpty && stack.last! == board[i][j] {
                        stack.removeLast()
                        boom += 1
                        
                    }
                    boom += 1
                } else {
                    stack.append(board[i][j])
                }
                board[i][j] = 0
                break
            } 
        }
        
    }
    return boom
}
댓글