
나의 코드
def solution(numbers):
answer = [-1]*len(numbers)
stack = []
#numbers의 배열 길이만큼 for문돌림
for i in range(len(numbers)):
#stack에는 numbers인덱스를 저장
#즉, stack에 존재하는 numbers인덱스 보다 numbers[i]이
#더 크게되면
while stack and numbers[stack[-1]] < numbers[i]:
#stack.pop수행하고
#answer에 해당하는 인덱스에 뒷큰수로 치환
answer[stack.pop()] = numbers[i]
stack.append(i)
#print(answer)
return answer
solution([9, 1, 5, 3, 6, 2])
'코딩테스트 파이썬 > 파이썬 프로그래머스 2단계' 카테고리의 다른 글
| 롤케이크 자르기 (0) | 2023.05.20 |
|---|---|
| 다리를 지나는 트럭 (0) | 2023.05.20 |
| 숫자 변환하기 (1) | 2023.05.17 |
| 2개 이하로 다른 비트 (0) | 2023.05.16 |
| 2 x n 타일링 (0) | 2023.05.15 |