-
[💕 프로그래머스 Python] 주식가격Algorithm/1일 1코테 2020. 10. 24. 10:59반응형
프로그래머스 연습문제 2단계
스택/큐
[ 주식가격 ]
문제 및 문제설명
programmers.co.kr/learn/courses/30/lessons/42584
내가 제출한 답
# 1차시도
break를 안걸었더니 작은 값을 만나도 뒤에 큰 값을 모두 count하고 끝남
또한 i 바로 뒤 작은 값을 만나더라도 1이 return 되어야 하는데 0으로 return 됨
# 1차 시도 - 탈락 def solution(prices): p = prices stack = [] for i in range(0, len(p)): count = 0 for j in range(i+1, len(p)): if p[i] <= p[j]: count += 1 stack.append(count) return stack
#2차시도
작은 값을 만나면 count + 1을 하고 break를 걸어주었다
# 2차 시도 - 통과 def solution(prices): p = prices stack = [] for i in range(0, len(p)): count = 0 for j in range(i+1, len(p)): if p[i] > p[j]: count += 1 break else: count+= 1 stack.append(count) return stack
다른사람 풀이 #1
que를 이용한 풀이
from collections import deque def solution(prices): answer = [] prices = deque(prices) while prices: c = prices.popleft() count = 0 for i in prices: if c > i: count += 1 break count += 1 answer.append(count) return answer
다른사람 풀이 #2
count를 사용하지 않고 인덱스를 이용하여 +1
def solution(prices): answer = [0] * len(prices) for i in range(len(prices)): for j in range(i+1, len(prices)): if prices[i] <= prices[j]: answer[i] += 1 else: answer[i] += 1 break return answer
반응형'Algorithm > 1일 1코테' 카테고리의 다른 글
[🤷♀️ 프로그래머스 Python] 기능개발 (0) 2020.10.25 [💕 프로그래머스 Python] 프린터 (0) 2020.10.25 [🤷♀️ 프로그래머스 Python] 위장 (0) 2020.10.23 [💕 프로그래머스 Python] 전화번호 목록 (0) 2020.10.21 [💕 프로그래머스 Python] JadenCase 문자열 만들기 (0) 2020.10.20