[정리]
1. 오른쪽 끝에서부터 시작해서 왼쪽으로 진행하기때문에 range에서 마지막 인자로 step = -1을 주어서 뒤에서부터 탐색한다.
2. 중복으로 수신하지는 않기때문에 현재 탑보다 큰 탑을 찾으면 인덱스를 answer 에 추가한후에 break로 탈출
def solution(heights):
answer = [0] *len(heights)
for i in range(len(heights)-1, 0, -1):
for j in range(i-1,-1,-1):
if heights[i] <heights[j]:
answer[i] = j+1
break
return answer
[다른풀이]
1. 스택자료구조의 pop을 이용
2. list형을 reverse로 새로운 리스트 반환
'[PS] 알고리즘문제풀이' 카테고리의 다른 글
[백준,PS,그래프탐색][PYTHON] #2606. 바이러스 (0) | 2020.06.10 |
---|---|
[백준,PS,재귀,DP,삼성SW][PYTHON] #14501. 퇴사 (0) | 2020.05.16 |
[프로그래머스,PS,해시][PYTHON] #4.베스트 앨범 (1) | 2020.05.13 |
[프로그래머스,PS,해시][PYTHON] #3.위장 (0) | 2020.05.13 |
[프로그래머스,PS,해시][PYTHON] #2.전화번호 목록 (0) | 2020.05.12 |