728x90
반응형
1. 문제 설명
2. 풀이과정
해당 문제는 앞에서부터 주식의 가격을 기준으로 잡고 다음 가격을 하나씩 비교하며 크거나 같으면 다음 가격을 추가하고 만약 작은 값이 나오면 바로 종료하여 종료되기 전까지 추가된 가격의 개수를 구하는 방식으로 해결한다.
만약 현재 주식 가격에 대해 다음 가격이 바로 떨어졌다면, 떨어지기 전 1초는 유지한 것으로 본다.
- 주식 가격 목록에서 하나씩 제거하며 비교하기 위해 popleft() 함수를 사용한다. deque 자료구조를 사용하기 위해 deque 모듈을 불러온다. from collections import deque
- 주식 가격 정보를 deque 자료로 변경한다. prices = deque(prices)
- 주식 가격 정보의 개수만큼 반복하며 for i in range(len(prices))
- 제일 앞 가격을 뽑아낸다. price = prices.popleft()
- 해당 주식 가격에 대비하여 상승된 주식의 가격을 저장할 리스트를 생성한다. up = list()
- 남은 주식을 하나씩 추출하여 for j in prices
- 해당 주식을 일단 추가한다. up.append(j)
- 이는 바로 주식의 가격이 떨어졌을 때 떨어지기 바로 직전까지 가격이 유지되었다고 보기 위함이다.
- 만약 추가한 주식의 가격이 시작 주식의 가격에 대비해 떨어졌다면 if (prices > j)
- 바로 종료한다. break
- 주식 가격 상승 및 유지한 초를 계산하여 정답에 추가한다. answer.append(len(up))
반응형
3. 소스코드
from collections import deque
def solution(prices):
answer = []
prices = deque(prices)
for i in range(len(prices)):
price = prices.popleft()
up = list()
for j in prices:
up.append(j)
if (price > j):
break
answer.append(len(up))
return answer
728x90
반응형
'프로그래머스 > Python' 카테고리의 다른 글
[프로그래머스] 모음사전 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.26 |
---|---|
[프로그래머스] 방문 길이 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.21 |
[프로그래머스] 게임 맵 최단거리 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.20 |
[프로그래머스] 스킬트리 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.19 |
[프로그래머스] 땅따먹기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.17 |
[프로그래머스] 로또의 최고 순위와 최저 순위 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.16 |
[프로그래머스] 단어 변환 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.15 |
[프로그래머스] 주차 요금 계산 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.14 |