목록stack (2)
공부기록
🍀문제 설명 🍀내 풀이 def solution(s): stack = [] for i in s: if i == '(': # ( 일 경우 stack.append(i) else: if len(stack) == 0: # stack이 비어있는데 )가 나온 경우 -> 올바르지 않음 return False else: # stack에 (가 있고 다음으로 )가 온 상태 -> 괄호 한 쌍 찾음 -> stack에서 ( 꺼내기 stack.pop() return len(stack) == 0 stack 구조를 사용해서 문제를 풀었다. 각 괄호를 확인하면서 ( 일 경우 stack에 넣고, ) 일 경우에는 stack을 확인했을 때 stack이 비어있으면 괄호가 완성될 수 없으므로 False를 return하고, stack 안에 하나 ..
🍀문제 설명 🍀문제 설명 참고: https://velog.io/@wlals425315/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-154539-%EB%92%A4%EC%97%90-%EC%9E%88%EB%8A%94-%ED%81%B0-%EC%88%98-%EC%B0%BE%EA%B8%B0 def solution(numbers): answer = [-1]*len(numbers) stack = [] for i in range(len(numbers)): while stack and numbers[stack[-1]] < numbers[i]: answer[stack.pop()] = numbers[i] stack.append(i) return answer stack을 사..