[swift] 크레인 인형뽑기 게임

ohtt-iOS·2020년 12월 14일
0

프로그래머스

목록 보기
2/9
post-thumbnail

코드는 Swift로 작성하였습니다.
제가 직접 작성한 코드라 최적의 코드가 아닐 수 있음을 알려드립니다. 🐹


문제는 저작권 관련 문제가 있을 수 있어서 적어두지 않았습니다.



✍🏻 생각정리

  1. moves 를 체크
  2. 해당하는 라인의 위부터 탐색하면서 0이 아니면 빼낸다
  3. 빼낸 자리에는 0을 채워 넣는다.
  4. 저장소에 넣는다.
  5. 저장소에 넣는 수와 그 전에 저장되어 있던 수를 비교해서
    같으면 둘 다 저장소에서 빼낸다. -> 그 후에 result 값을 올려준다.


👩🏻‍💻 코드

import Foundation

func solution(_ board:[[Int]], _ moves:[Int]) -> Int {
    var result = 0
    var board = board
    var store = [0]
    var storeLast = 0
    
    for i in moves {
        var index = 0
        while true {
            if index == board.count  { break }
            if board[index][i-1] != 0 {
                store.append(board[index][i-1])

                if storeLast == store.last {
                    store.popLast()
                    store.popLast()
                    result += 2
                    storeLast = store.last!
                }
                storeLast = store.last!
                board[index][i-1] = 0
                break
            }
            index += 1
        }
    }
    
    return result
}
profile
오뜨 삽질 🔨 블로그

0개의 댓글