백준 - 10799

Giho Kim·2023년 9월 19일

코테 연습

목록 보기
10/26

문제

  1. 생각보다 구현이 어려웠다.
  2. 결국 찾아봤다.
  3. 일단 for loop을 돌리며 (를 스택에 넣어준다
  4. ) 일때 만약 parenthesis[i - 1]이 ( 라면 레이저다
  5. 레이저라면 스택이 넣어진 개수만큼 answer에 더해준다 (이게 리얼 개지림 왜 이생각을 못했지)
  6. 만약 parenthesis[i - 1]이 )라면 하나의 줄이 끝났다는걸 의미한다 고로 1만 더해준다
parens = input().split()

stack = []
answer = 0
for i,v in enumerate(parens):
  if v == "(":
    stack.append(v)

  else:
    if stack.pop() == "(" and stack:
      answer += len(stack)
      stack.append(v)

    elif stack.pop() == "(" and not stack:
      continue

    else:
      stack.pop()
      answer += 1
profile
취준돌이 개발자 김기호

0개의 댓글