알고리즘 공부(C++)

10773 제로

혀니리리 2022. 8. 9. 15:33
728x90

10773번: 제로 (acmicpc.net)

 

10773번: 제로

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

www.acmicpc.net

K = int(input())
result = 0
temp = []

for _ in range (K):
    a = int(input())
    if a != 0 :
        temp.append(a)
    else:
        temp.pop(len(temp) - 1)
for i in temp:
    result += i
print(result)

0이 나올 때마다 list에 있던 값 중 하나를 삭제하고 모든 값을 더하는 문제..

python의 list의 stack형태를 알고있냐고 묻는 문제이다.

temp.append형태로 삽입하고 / pop 형태로 삭제할 수 있으며 / len 형태로 list의 크기를 구할 수 있음을 알자.

 

728x90

'알고리즘 공부(C++)' 카테고리의 다른 글

1966 프린터 큐  (0) 2022.08.10
11047 코인  (0) 2022.08.09
7568 덩치  (0) 2022.08.08
11399 ATM  (0) 2022.08.06
BOJ 1931 회의실  (0) 2022.08.05