본문 바로가기

PS/백준

[BOJ] 백준 10773 제로 (Swift)

반응형

문제

https://www.acmicpc.net/problem/10773

 

10773번: 제로

첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경

www.acmicpc.net

풀이

정수가 "0"일 경우 가장 최신에 쓴 수를 지운다는 것을 보고,
Stack 자료구조를 떠올릴 수 있습니다.

k번의 입력을 받으면서
정수가 "0"일 경우는 removeLast 메서드를 사용해 가장 최신에 삽입된 요소를 삭제시켜주고,
"0"이 아니라면 삽입해줍니다.

k번의 입력이 끝난 후, 배열의 요소의 합을 출력해주면 되는 문제입니다.

정수가 "0"일 경우에 지울 수 있는 수가 있는 것이 보장되므로,
Stack이 비어있는지 검사는 따로 해주지 않아도 됩니다.

소스코드

후기

가장 최신에 쓴 수를 지운다는 지문을 보고 Stack 자료구조를 떠올렸습니다.
removeLast와 append 메서드를 사용해 Stack과 동일한 동작을 하도록 구현하였습니다.

반응형

'PS > 백준' 카테고리의 다른 글

[BOJ] 백준 4949 균형잡힌 세상 (Swift)  (0) 2023.04.03
[BOJ] 백준 9012 괄호 (Swift)  (0) 2023.04.03
[BOJ] 백준 10828 스택 (Swift)  (0) 2023.04.03
[BOJ] 백준 1037 약수 (Swift)  (0) 2023.04.03
[BOJ] 백준 1010 다리 놓기 (Swift)  (0) 2023.04.03