[프로그래머스] Lv 0 컨트롤 제트 - Python

2022. 12. 28. 20:51·Programming/알고리즘
728x90

1. 문제

https://school.programmers.co.kr/learn/courses/30/lessons/120853

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

숫자와 "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에서 뺀다.

 

저작자표시 비영리 변경금지 (새창열림)
'Programming/알고리즘' 카테고리의 다른 글
  • [프로그래머스] Lv 2 모음사전 - Python
  • [프로그래머스] Lv 0 암호 해독 - Python
  • [프로그래머스] Lv 0 문자열 정렬하기 (1) - Python
  • [프로그래머스] Lv 0 배열 회전시키기 - Python
해치
해치
뭐라도 하자
  • 해치
    hi there
    해치
  • 글쓰기 관리자
  • 전체
    오늘
    어제
    • ALL (70)
      • Programming (62)
        • Python (14)
        • SQL (13)
        • 알고리즘 (35)
      • Framework (4)
        • Airflow (3)
        • Django (1)
      • Infra (3)
        • Docker (3)
        • Linux (0)
      • AWS (0)
      • Dashboard (1)
  • 블로그 메뉴

    • 링크

    • 인기 글

    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    해치
    [프로그래머스] Lv 0 컨트롤 제트 - Python
    상단으로

    티스토리툴바