개발/알고리즘
[프로그래머스] 2019 Kakao Winter Internship - 크레인 인형뽑기 게임
Liber21
2021. 4. 1. 00:32
반응형
코딩테스트 연습 - 크레인 인형뽑기 게임
[[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
입력 & 출력
문제는 링크에서 확인 바랍니다
풀이
스택을 활용하는 문제다
문제에서는 중복된 인형의 수를 물었기에 뽑은 인형들을 출력할 필요는 없다
스택에 넣기 전 같은 인형일 경우 총합에 2를 더하고 다른 인형일 경우 그대로 스택에 인형을 넣어주자
배열에서 뽑아오는 인형이 0 일 경우 다음 배열로 넘기기 위해 반복문을 사용한다
Swift 전체 코드
var list = board
var stack : [Int] = [0]
var count = 0
for i in moves {
for y in 0..<list.count {
if list[y][i - 1] != 0 {
if stack.isEmpty {
stack.append(list[y][i-1])
break
}
else {
if stack.last! != list[y][i-1] {
stack.append(list[y][i-1])
} else {
count += 2
stack.removeLast()
}
list[y][i-1] = 0
break
}
}
}
}
return count
반응형