-
프로그래머스 : 주식가격Solve Algorithms/Array, Heap, Stack, Queue 2020. 6. 13. 20:39728x90
출처 : programmers.co.kr/learn/courses/30/parts/12081
알고리즘 분류 : 스택, 큐
문제 설명
초 단위로 기록된 주식가격이 담긴 배열 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초간 가격이 떨어지지 않았습니다.
접근
- 문제의 설명을 이해하는데에 시간이 제일 많이 걸렸다.
- 결국, 구하고자 하는 것의 핵심은 "떨어지지 않은 기간"이다.
- stack, queue를 이용하지 않고, 단순 반복으로 문제를 해결했다.
- 처음에, if문의 비교를 아래와 반대로 하여, 매번 더하는 것을 반복하였지만 런타임 에러가 발생했다.
- 때문에, 비교를 아래처럼 하여 런타임 에러를 해결하였다.
코드
728x90'Solve Algorithms > Array, Heap, Stack, Queue' 카테고리의 다른 글
프로그래머스 : 크레인 인형뽑기 게임 (0) 2020.06.26 프로그래머스 : 더 맵게 (0) 2020.06.15 프로그래머스 : 쇠막대기 (0) 2020.06.13 프로그래머스 : 기능개발 (0) 2020.06.13 프로글래머스 : 탑 (0) 2020.06.13