(Swift) 백준 10773 제로

SteadySlower·2022년 8월 24일
0

Coding Test

목록 보기
131/298

10773번: 제로

문제 풀이 아이디어

스택을 활용해서 푸는 문제입니다. 입력이 0이면 스택에서 pop하고 0이 아니라면 그 수를 push해주면 됩니다. 입력이 0일 때 항상 지울 수 있다고 했으므로 예외처리는 하지 않아도 됩니다.

코드

// 입력 받기
let K = Int(readLine()!)!

// 입력을 저장할 stack
var stack = [Int]()

// 0이면 pop, 0이 아니면 push
for _ in 0..<K {
    let input = Int(readLine()!)!
    if input == 0 {
        stack.removeLast()
    } else {
        stack.append(input)
    }
}

// stack에 있는 모든 수의 합 더하기
print(stack.reduce(0, +))
profile
백과사전 보다 항해일지(혹은 표류일지)를 지향합니다.

0개의 댓글