프로그래머스 2단계 - 주식가격 본문
반응형
2 단계 : 주식가격
코딩테스트 연습 > 스택/큐 > 주식가격
초 단위로 기록된 주식가격이 담긴 배열 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초간 가격이 떨어지지 않았습니다.
코드
function solution(prices) {
const answer = []; // return 할 배열
for(let i = 0; i < prices.length; i++) {
let diff = 0;
for(let j = i + 1; j < prices.length; j++) {
diff++;
if(prices[i] > prices[j]) {
break;
}
}
answer.push(diff);
}
return answer;
}
리뷰
순서는 다음과 같다
1. 2중 for 문돌아주면서, [1, 2, 3, 2, 3] 에 대하여 1에대해서 2,3,2,3 4번검사
2. 2에대해서 3,2,3 3번검사... 이렇게 본인보다 낮은가격이 있는지 검사해주고, 낮은가격이 나타나면 break;
3. 예를들어 3 => 2 이구간에서 1초동안은 유지되야하니까 i === 2, j === 3 일 때 바로 for문 한사이클이 끝나기 때문에
4. diff를 먼저 더해주고 값을 비교해주도록 합니다.
총평 : 점수를 많이 안주네요.
반응형
'알고리즘 > 2단계' 카테고리의 다른 글
프로그래머스 2단계 - 뒤에 있는 큰 수 찾기 (2) | 2023.08.26 |
---|---|
프로그래머스 2단계 - 귤 고르기 (0) | 2023.08.25 |
프로그래머스 2단계 - 큰 수 만들기 (0) | 2023.07.08 |
프로그래머스 2단계 - 다리를 지나는 트럭 (2) | 2023.06.28 |
프로그래머스 2단계 - 2 x n 타일링 (0) | 2023.06.25 |
Comments