728x90
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/120853
숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요.
2. 제한사항
3. Python code
def solution(s):
stack = []
for num in s.split(' '):
try:
stack.append(int(num))
except:
stack.pop()
return sum(stack)
각 숫자와 Z는 공백으로 구분 된다 했으므로 split을 사용해 나눠준다.
try except를 사용해 num이 숫자일 경우 stack에 append해주고
숫자가 아닌 Z일 경우 바로 pop을 이용해 바로 전에 append해준 숫자를 stack에서 뺀다.