プログラマ:開発機能




私の草

function solution(progresses, speeds) {
    let rest = progresses.map(v => 100 - v)
    let day = rest.map((v, i) => Math.ceil(v / speeds[i]))
	// 아래처럼 축소가능,,
    // day = progresses.map((v, i) => Math.ceil((100 - v) / speeds[i]))
    
    let answer = []
    let count = 1
    let prev = day[0]

    for(let i = 1; i < day.length; i++){
        if(day[i] <= prev){
            count++
        } else {
            answer.push(count)
            prev = day[i]
            count = 1
        }  
    }
    answer.push(count)

    return answer
}
  • 100と従業員の各要素の差はrestという配列
  • に割り当てられる.
  • restの各要素は、速度に対応する要素を割り当て、絶対上昇に要する時間をdayという配列
  • に割り当てる.
  • アレイ日の最初の要素をprev変数に割り当て、
  • を順次比較する.
  • 最後のインデックス要素のcount for文の終了時にpush