programmers.co.kr/learn/courses/30/lessons/42584#
코딩테스트 연습 - 주식가격
초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00
programmers.co.kr
스택/큐 문제
문제를 잘못이해해서 한참동안 고생했다.
~처음 푼 방법
from collections import deque
def solution(prices):
pricesQ = deque(prices)
answer = []
for i in range(len(prices)):
price = pricesQ.popleft()
sec = 0
for x in range(i+1,len(prices)):
if price <= prices[x]:
sec += 1
answer.append(sec)
return answer
ㅋㅋㅋ 나름 스택/큐 문제라고 큐를 써서 해볼려고 했는데 계속 답이 안나오는거...
한시간가량 고민했는데 아무리 봐도 틀린게 없어 보였다. 그래서 큐를 빼고 해봤다.
~두번째 푼 방법
def solution(prices):
answer = []
for i in range(len(prices)):
sec = 0
for n in range(i+1,len(prices)):
if prices[i] <= prices[n]:
sec += 1
answer.append(sec)
return answer
ㅋㅋㅋㅋㅋ...
이래도 안되길래 넘 빡쳐서 인터넷을 뒤져봤다. 나만 안되는건가 싶어서...
근데 참....
~세번째 푼 방법
def solution(prices):
answer = []
for i in range(len(prices)):
sec = 0
for n in range(i+1,len(prices)):
sec += 1
if prices[i] > prices[n]:
break
answer.append(sec)
return answer
다들 문제에 break를 쓰길래 왜쓰나 했더니.............
알고보니 문제는 가격이 떨어지면 그동안 떨어지지 않았던 초를 세는 것이였고 나는 가격이 떨어지지 않은 것을 세고 있엇다.......나는 바봉....
하...ㅠ 문제좀 잘읽자 제발...ㅠㅠ
'2 > 프로그래머스' 카테고리의 다른 글
프로그래머스 연습 문제 - 문자열 다루기 기본 (0) | 2020.09.15 |
---|---|
프로그래머스 연습 문제 - 기능 개발 (0) | 2020.09.14 |
프로그래머스 연습 문제 - 다트 게임 (0) | 2020.09.11 |
프로그래머스 연습 문제 - 두 정수 사이의 합 (0) | 2020.09.11 |
프로그래머스 연습 문제 - 체육복 (0) | 2020.09.11 |