Jieunny의 블로그

[JS] 프로그래머스 - 주식가격 본문

Study/Coding Test

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

Jieunny 2023. 7. 27. 14:03

📌  문제

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

 

💡  아이디어

정답 배열을 prices의 길이만큼 초기화해준다.
prices 배열 전체를 돌면서 다음 초에 가격이 떨어지지 않으면 +1, 떨어지면 떨어진 지점에서 for문을 멈추고 j - i 를 해준다.
j - i 를 하는 이유는, j 와 i 가 인덱스를 가리키고 있기 때문에 j - i 해주면 몇 초동안 유지되었는 지 알 수 있다.

 

✏️  풀이

function solution(prices) {
  const n = prices.length;
  const answer = new Array(n).fill(0);
  for(let i=0; i<n; i++){
    for(let j=i+1; j<n; j++){
      if(prices[i] > prices[j]) {
        // 가격 떨어짐
        answer[i] = j-i;
        break;
      }
      else {
        // 가격 오름
        answer[i]++
      }
    }
  }
  return answer;
}