๐Ÿ”’Algorithm

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[JS] > ์œ ์—ฐ๊ทผ๋ฌด์ œ

devWarrior 2025. 2. 23. 15:19

โž•๋ฌธ์ œ

https://school.programmers.co.kr/learn/courses/30/lessons/388351

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

๐Ÿ”ฅํ’€์ด

ํฐ ์–ด๋ ค์›€ ์—†์ด ํ’€ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ •ํ•œ ์‹œ๊ฐ„์˜ +10 ๋ถ„๊นŒ์ง€ ์ถœ๊ทผํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— `schedules[i]` ์— +10 ์„ ํ•œ๋’ค 60๋ถ„์„ ๋„˜์–ด๊ฐ€๋ฉด ์‹œ๊ฐ„์„ +1 ํ•˜๋Š” ๋ณ€ํ™˜๊ณผ์ •์„ ๊ฑฐ์ณค๋‹ค. 

function solution(schedules, timelogs, startday) {
    let answer = 0;
    for (let i = 0; i < schedules.length; i = i + 1) {
        let goal = schedules[i] + 10;
        if (goal % 100 >= 60) {
            goal += 100;
            goal -= 60;
        }

        let cnt = 0;
        for (let j = 0; j < 7; j = j + 1) {
            let ref = j + startday;
            if (ref % 7 === 0 || ref % 7 === 6) {
                continue;
            }
            if (goal < timelogs[i][j]) {
                break;
            }
            ++cnt;
        }

        if (cnt === 5) {
            ++answer;
        }
    }

    return answer;
}