내 정답:
정말 가격해버리고 싶은 문제였다. 권장이 O(n)이라는데 내 얄팍한 지식으론 O(n)을 도저히 못맞추겠더라. 아래는 O(n^2)인 알고리즘이다.
def solution(prices):
length = len(prices)
answer = []
for i in range(length):
answer.append(length-i-1)
for j in range(i+1, length):
if prices[i] > prices[j]:
answer.pop()
answer.append(j-i)
break
return answer
다른 사람들의 정답:
딱히 O(n) 인 정답을 찾을 수 없었다. 어떻게 풀 수 있는지 좀 궁금하다.
'프로그래머스 알고리즘 문제 > Level 2' 카테고리의 다른 글
프로그래머스 Level 2 - 더 맵게 (0) | 2020.08.19 |
---|---|
프로그래머스 Level 2 - 기능개발 (0) | 2020.08.19 |
프로그래머스 Level 2 - 스킬트리 (0) | 2020.08.19 |
프로그래머스 Level 2 - 124 나라의 숫자 (0) | 2020.08.18 |
프로그래머스 Level 2 - 다리를 지나는 트럭 (0) | 2020.08.18 |