본문 바로가기

자료구조&알고리즘/알고리즘-문제풀이

[프로그래머스-Level2] 기능개발

 

let progresses = [93,30,55,55];
let speeds = [1,30,5,5];

function solution(progresses, speeds) {
    let answer = [];
    let releaseDays = progresses.map((element, index) => {
        return Math.ceil((100 - element) / speeds[index]);
    });

    // 큰 숫자가 나오기 전까지 +1을 계속 한다
    // 큰 숫자가 나오면 answer에 push하고, temp를 큰 숫자로 변경하고, cnt를 1으로 변경한다 ()
    let cnt = 0;
    let temp = releaseDays[0];
    releaseDays.map((element, index) => {
        if (temp < element) {
            answer.push(cnt);
            temp = element;
            cnt = 1;
        } else {
            cnt += 1;
        }

        // 마지막 원소이면 answer에 1 push
        if (index === releaseDays.length - 1) {
            answer.push(cnt);
        }
        
    })

    return answer;
}

console.log(solution(progresses, speeds));

 

내가 똥멍충이 임을 확인하는 시간☆

반응형