인프런 커뮤니티 질문&답변

소소박님의 프로필 이미지
소소박

작성한 질문수

코딩테스트 [ ALL IN ONE ]

[코테 적용] 👉 LIFO 2번 째 문제

not stack , stack 질문

해결된 질문

작성

·

603

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

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

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

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

소소박님의 프로필 이미지
소소박
질문자

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

소소박님의 프로필 이미지
소소박

작성한 질문수

질문하기