처음에 문제의 의미를 파악하지 못해서 한동안 읽어봐야 했다.
def solution(prices):
answer = []
for i in range(len(prices)-1):
for j in range(i+1, len(prices)):
if prices[i] > prices[j]:
answer.append(j-i)
break
else:
answer.append(len(prices)-i-1)
answer.append(0)
return answer
하지만 생각보다 간단한 문제였다. 단순히 특정 시점의 주식 가격이 그 가격보다 낮아지는 시점이 있는지 찾아주고, 있는지 없는지에 따른 시간을 계산하여 출력해주는 것이었다. 스택/큐 문제였지만, 그렇게 푸는 방법을 생각해내지 못해서 이중 for문
을 사용하여 풀었다. 시간복잡도는 O(n^2)
이 되므로, 원소가 많아진다면 상당히 복잡해질 우려가 있긴 하다.
'알고리즘 테스트 > 프로그래머스 문제풀이 및 해설' 카테고리의 다른 글
<프로그래머스 문제풀이: [정렬] H-Index> Level 2 - 파이썬 (0) | 2020.12.12 |
---|---|
<프로그래머스 문제풀이: [완전탐색] 소수 찾기> Level 2 - 파이썬 (0) | 2020.12.11 |
<프로그래머스 문제풀이: [스택/큐] 프린터> Level 2 - 파이썬 (0) | 2020.12.09 |
<프로그래머스 문제풀이: [스택/큐] 기능 개발> Level 2 - 파이썬 (0) | 2020.12.05 |
<프로그래머스 문제풀이: 스킬트리> Level 2 - 파이썬 (0) | 2020.12.04 |