본문 바로가기
Beakjoon&프로그래머스/Java

[프로그래머스/Java] 유연근무제

by 현장 2026. 3. 23.

-Code

class Solution {
    public int solution(int[] schedules, int[][] timelogs, int startday) {
        int answer = 0;
        // 각 직원의 스케줄을 검사
        for (int i = 0; i < schedules.length; i++) {
            int nowDay = startday - 1;
            int rushHour = schedules[i] + 10;
            // 60분을 넘어가면 보정
            if (rushHour % 100 >= 60) {
                rushHour += 100 - 60;
            }
            // 모든일에 각각 직원이 지각한 날이 있는지 확인
            boolean isOk = true;
            for (int j = 0; j < 7; j++) {
                // 주말이 아닌데 출근 시간을 넘은 경우 
                if (nowDay % 7 < 5 && rushHour < timelogs[i][j]) {
                    isOk = false;
                    break;
                }
                nowDay++;
            }
            answer += isOk ? 1 : 0;            
        }
        return answer;
    }
}