[프로그래머스] 알고리즘 Kit - 주식가격

ss_kim·2024년 11월 13일

<코드>

function solution(prices) {
    var answer = [];
  	// let count = 0;
    
    for(let i = 0; i < prices.length; i++) {
        let count = 0;
        
        if(i == prices.length - 1) answer.push(0)
        
        for(let j = i + 1; j < prices.length; j++) {
            if(prices[i] <= prices[j]) {
                count++
            } else {
                answer.push(++count)
                count = 0
                break;
            }
            
            if(j == prices.length - 1) {
                answer.push(count)
                count = 0
            }
        }
    }
    
    return answer;
}



<풀이>

처음 반복문은 prices 배열의 각 요소를 순회하고 중첩된 반목문은 각 요소의 다음 인덱스부터 순회하면서 크기를 비교하고 count를 증가시키거나 answer에 push
마지막 비교 요소에 다다르면 answer에 count를 push

count를 반복문 안에서 선언하면 prices를 순회할 때마다 생성하게 되는데, 반복문 밖에서 선언하고 중첩된 반복문이 끝날 때 0으로 초기화 해주면 효율성이 조금 개선됨

profile
프론트엔드 개발자

0개의 댓글