lv.2 뒤에 있는 큰 수 찾기
- 다른 분 풀이..
# 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
* 다시 써보기..
어렵다.....
def solution(numbers):
long = len(numbers)
answer = [-1] * long
stack = [] #
for i in range(long):
while stack and numbers[stack[-1]] < numbers[i]:
print(i, stack)
x = stack.pop()
answer[x] = numbers[i]
stack.append(i)
return answer
다음 숫자에서 이전 숫자들을 stack에 넣고,, update해주는 거 같은데..
관점 자체가 다른 느낌이다
ㅠ,ㅠ 언젠가 이해할 수 있겠지..
'⚡️algorithm > step-up ++' 카테고리의 다른 글
다익스트라와 이진트리 (feat. min heap 구현) (0) | 2025.01.09 |
---|---|
[다익스트라, Dijkstra, 구조] 백준 1753. 최단 경로 (0) | 2022.10.12 |
[DP, 2차원, 누적합, 파이썬] 백준 11660. 구간합구하기 (1) | 2022.10.03 |
[dictionary, 조건에 맞는 값 탐색, 효율성] 프로그래머스 lv2. 순위검색 (feat. lambda, filter, map, combination, get(key)) (0) | 2022.09.14 |
[Dictionary 탐색] 프로그래머스 lv2. 신고결과받기 (feat. enumerate, set, dictionary) (0) | 2022.09.08 |