Where who wants to meet someone
백준 Swift [10773] 제로 본문
728x90
난이도
실버 IV
문제
https://www.acmicpc.net/problem/10773
내 답안
var accountBook = [Int]()
for _ in 1...Int(readLine()!)! {
let input = Int(readLine()!)!
switch input {
case 0:
accountBook.removeLast()
default:
accountBook.append(input)
}
}
print(accountBook.reduce(0, +))
- 빈 스택인 accountBook 초기화
- 횟수만큼 돌면서 입력값이 0인 것과 0이 아닌(default)것만 분기 처리를 하여 각각 removeLast, append를 수행
(removeLast의 복잡도는 O(1)) - for문이 끝나면 reduce를 통해 모든 값을 더한 값을 출력하여 해결
'백준 알고리즘 문제 기록 > 스택, 큐, 덱' 카테고리의 다른 글
백준 Swift [2164] 카드2 (0) | 2023.08.25 |
---|---|
백준 Swift [12789] 도키도키 간식드리미 (2) | 2023.08.24 |
백준 Swift [4949] 균형잡힌 세상 (0) | 2023.08.22 |
백준 Swift [9012] 괄호 (0) | 2023.08.22 |
백준 Swift [28278] 스택 2 (0) | 2023.08.22 |