⚡️algorithm/step-up ++

[스택, 수 비교] 프로그래머스 lv2. 뒤에 있는 큰 수 찾기

남남이루 2023. 2. 23. 16:51

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해주는 거 같은데..
관점 자체가 다른 느낌이다
ㅠ,ㅠ 언젠가 이해할 수 있겠지..