• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    해결됨

not stack , stack 질문

23.04.24 22:09 작성 조회수 492

1

스택 문제풀이에서

return not stack이나 while stack and stack[-1][1] 는 무엇을 의미하나요?

 

1. 
while stack and stack[-1][1] < temp :
2.
while temp > stack and stack[-1][1] :

1번과 2번 코드가 왜 다르게 작동할까요??

감사합니다!

답변 1

답변을 작성해보세요.

3

hwanghsp님의 프로필

hwanghsp

2023.04.25

제가 이해한 부분이 맞는지 모르겠습니다만, 저 또한 헷갈렸던 부분에 대해 적어보겠습니다.

1. return not stack
스택이 비어있을 때 True가 됩니다.
이는 파이썬에서 빈 리스트, 빈 튜플, 빈 딕셔너리 등의 경우 False로 판단되기때문입니다.
따라서, not stack은 스택에 남아있는 문자가 없는 경우 True가 됩니다.
(= 모든 괄호가 올바르게 짝지어졌다는 의미로, isValid 함수가 True를 반환하도록 하는 것입니다.)

2. while stack and stack[-1][1]
stack에 값이 있고 stack마지막요소의 온도값이 temp보다 작은가?, 그럼 ~~~~
* stack[-1] : stack리스트의 마지막 요소

소소박님의 프로필

소소박

질문자

2023.04.25

아 스택이 비어있는지 아닌지 여부로 t/f 를 return해주는 거였군요. 이제 확실히 이해가 됐어요. 감사합니다!