반응형
프로그래머스 문제
주식 가격
https://school.programmers.co.kr/learn/courses/30/lessons/42584
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1차 풀이 (실패)
deque를 불렀는데 딱히 큐 형식으로 사용하지 않았다 ..ㅋㅋ
일단 숫자를 비교해서 answer를 채우는 방식으로 풀었다
문제에서는 연속적으로 가격이 떨어지지 않은 시간을 구하기 때문에 지금 코드는 잘못되어있다
그래서 연속된 시간만 구하도록 바꾸어야겠다
"""
초 단위 주식 가격
가격이 떨어 지지 않은 기간은 몇 초 인지 구하기
"""
# deque 활용하기
from collections import deque
def solution(prices):
answer = []
queue = deque()
for i in range(len(prices)):
queue.append(prices[i])
answer.append(0)
for j in range(i):
print(i, j)
if prices[i] >= prices[j]:
answer[j] += 1
print(answer)
return answer
2차 풀이 (성공)
for 문의 성질만 잘 활용하면 되는 문제였다
아래와 같은 이중 for 문만 잘 생각해내면 풀 수 있는 문제였다
for i in range(len(prices)):
for j in range(i+1, len(prices)):
근데 왜 스택/큐 문제 인지 모르겠다
"""
초 단위 주식 가격
가격이 떨어 지지 않은 기간은 몇 초 인지 구하기
"""
def solution(prices):
answer = []
queue = []
for i in range(len(prices)):
queue.append(prices[i])
answer.append(0)
for j in range(i+1, len(prices)):
answer[i] += 1
if prices[j] < prices[i]:
break
return answer
반응형
'코딩 테스트 > Programmers' 카테고리의 다른 글
[Python] [Level 1] 달리기 경주 (리스트 안에서 자리 바꾸기, index 함수는 속도가 느리다) (0) | 2023.04.09 |
---|---|
[Python] [Level 1] 키패드 누르기 (2020 카카오 인턴십) (0) | 2023.03.30 |
[Python] [Level 2] 주차 요금 계산 (프로그래머스 문제) (0) | 2023.03.26 |
[Python] [Level 1] 공원 산책 (프로그래머스 문제) (0) | 2023.03.26 |
[Python] [Level 1] 크기가 작은 부분 문자열 (0) | 2023.03.16 |