공대생의 비망록

[프로그래머스][Lv. 1] 크레인 인형뽑기 게임 Swift 풀이 본문

Programming Language/Swift

[프로그래머스][Lv. 1] 크레인 인형뽑기 게임 Swift 풀이

myungsup1250 2022. 3. 14. 15:29

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

풀이는 추후에 차차 올리도록 하겠습니다...

 

 

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
import Foundation
 
func solution(\_ board:\[\[Int\]\], \_ moves:\[Int\]) -> Int {
    var popped: Int = 0
    var grapped: \[Int\] = \[Int\]()
    var colBoard: \[\[Int\]\] = Array(repeating: \[\], count: board.count)
    for i in 0..<board.count {
        for j in 0..<board\[i\].count {
            colBoard\[j\]\[i\] = board\[i\]\[j\]
        }
    }
    for move in moves {
        for i in 0..<colBoard\[move - 1\].count {
            if colBoard\[move - 1\]\[i\] != 0 {
                if !grapped.isEmpty && grapped.last! == colBoard\[move - 1\]\[i\] {
                    grapped.popLast()
                    popped += 2
                } else {
                    grapped.append(colBoard\[move - 1\]\[i\])                    
                }
                colBoard\[move - 1\]\[i\] = 0
                break
            }
        }
    }    
    return popped
}
cs
Comments