본문 바로가기

코딩테스트 준비/프로그래머스

[프로그래머스] 주식가격

반응형

 

 

 

안녕하세요~

27년차 진로탐색꾼 조녁입니다!!

1일 1코테 14일차!!! 토요일은 SQLD 시험과 라인 코테 응시로 하루 쉬었습니다.

 

이번주부터 이제 2단계로 올라왔는데요. 확실히 어렵다보니 혼자 풀긴 힘들더라고요!

그래서 자료구조에 대한 이론공부의 필요성을 느꼈습니다.. 매일 조금씩 해보려 합니다 ㅎㅎ 

 

 

· 문제명 : 주식가격

· 사용 언어 : Python3

· 난이도 : Level2

· 문제 설명 

초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.

 

· 제한사항

  • prices의 각 가격은 1 이상 10,000 이하인 자연수입니다.
  • prices의 길이는 2 이상 100,000 이하입니다.

· 입출력 예

prices return
[1, 2, 3, 2, 3] [4, 3, 1, 1, 0]

 

· 입출력 예 설명

  • 1초 시점의 ₩1은 끝까지 가격이 떨어지지 않았습니다.
  • 2초 시점의 ₩2은 끝까지 가격이 떨어지지 않았습니다.
  • 3초 시점의 ₩3은 1초뒤에 가격이 떨어집니다. 따라서 1초간 가격이 떨어지지 않은 것으로 봅니다.
  • 4초 시점의 ₩2은 1초간 가격이 떨어지지 않았습니다.
  • 5초 시점의 ₩3은 0초간 가격이 떨어지지 않았습니다.

 

정답 코드

def solution(prices):
	#prices 길이만큼 0으로 채워진 리스트
    answer =[0] * len(prices)
    
    for i in range(len(prices)):
    	# 두번쨰 for문으로 뒷부분과 비교
        for j in range(i+1, len(prices)):
            if prices[i] <= prices[j]:
                answer[i]+=1
            else:
                answer[i]+=1
                break
                
    return answer

 

문제는 pirces 리스트 안에 주식들이 얼마동안 안떨어지고 있는 지를 return 해주는 문제다.

 

 

 

**공부해볼 자료 구조 : 스택 / 큐 

 

왜냐하면 for문을 두번 사용해서 시간 효율성이 좀 떨어지므로 더 좋은 방법이 있을 지 고민해보고자 한다.

 

 

https://link.coupang.com/a/rGILU

 

[한빛미디어]이것이 취업을 위한 코딩 테스트다 with 파이썬

COUPANG

www.coupang.com

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

반응형