본문 바로가기
Coding Test/JavaScript

[Javascript] (프로그래머스 level 2) 기능 개발

by Chaedie 2022. 7. 2.
728x90

[Javascript] (프로그래머스 level 2) 기능 개발

💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.

내 풀이

function solution(progresses, speeds) {
    // 100 되면 pop
    // 하루 한번 speed 만큼 progresses 올라감
    // 배포마다 몇개가 배포되는지 return 

    const arr = progresses.map((x, i) => Math.ceil((100 - x)/speeds[i]));
    const result = [];
    let count = 1;
    let maxDay = 0;
    console.log(arr)
    arr.forEach((x, i) => {
        if (x > maxDay) {
            maxDay = x;
        }
        if (i === arr.length - 1) {
            result.push(count);
        } else if (arr[i + 1] > maxDay) {
            result.push(count);
            count = 1;
            maxDay = 0;
        } else {
            count++;
        }
    })

    return result


}
  • 고득점 킷에서 한번 풀어본 경험이 있어서 progresses배열을 speeds 배열로 나누는건 직접 생각한 아이디어는 아닙니다.
  • arr.forEach() 사용한 부분은 직접했는데, 포문 돌리나 forEach돌리나 사실 로직은 비슷할거라 독특한 아이디어는 없을겁니다.
  • 이전에 풀었을 때와 다른점이 있다면, 그땐 레벨1 뒷쪽 문제도 어려워 하던 시절이라 이 문제도 엄청나게 어렵게 느껴졌는데요… 이젠 10분 내외로 구현되네요. 2주만에 폭풍 성장 👍👍

댓글