Notice
Recent Posts
Recent Comments
Link
나의 개발일지
[프로그래머스] Lv.2 뒤에 있는 큰 수 찾기 [Python, 파이썬] 본문
- 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/154539
- 🔑 스택
- 정답 리스트는 numbers의 길이만큼 -1로 초기화
- 스택에는 (인덱스, 값) 형태로 넣는다.
- 스택에 요소가 있고 현재 들어오는 수가 스택의 마지막 요소보다 크면 정답 리스트 업데이트하고 스택 마지막 요소 pop
- answer[stack[-1][0]] = numbers[i]
- while문으로 현재 들어오는 수보다 작은 값이 스택에 없을 때까지 반복함
def solution(numbers):
answer = [-1] * len(numbers)
stack = []
for i in range(len(numbers)):
while stack and stack[-1][1] < numbers[i]:
answer[stack[-1][0]] = numbers[i]
stack.pop()
stack.append((i, numbers[i]))
return answer
'프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.3 등굣길 [Python, 파이썬] (1) | 2023.12.18 |
---|---|
[프로그래머스] Lv.2 스킬트리 [Python, 파이썬] (0) | 2023.12.15 |
[프로그래머스] Lv.2 방문 길이 [Python, 파이썬] (0) | 2023.12.15 |
[프로그래머스] Lv.3 최고의 집합 [Python, 파이썬] (1) | 2023.12.15 |
[프로그래머스] Lv.2 모음사전 [Python, 파이썬] (1) | 2023.12.15 |
Comments