본문 바로가기
알고리즘/프로그래머스

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

by hxxyeoniii 2025. 3. 10.

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


문제 풀이

import java.util.*;

class Solution {
    public int solution(int[] schedules, int[][] timelogs, int startday) {
        int answer = 0;
        int day = startday;
        
        for(int i=0; i<timelogs.length; i++) {
            int sch_start = schedules[i];
            
            // 시간 계산
            sch_start += 10;
            if(sch_start % 100 >= 60) {
                sch_start += 100; // 시간 계산
                sch_start -= 60; // 분 계산
            }
            
            int cnt = 0;
            boolean flag = true;
            while(cnt < 7) {
                int start = timelogs[i][cnt];
                day %= 7;
                if(1 <= day && day <= 5) {
                    // 평일
                    if(start > sch_start) {
                        flag = false;
                    }
                } 
                
                // System.out.println("day : " + day + ", start : " + start);
                cnt++;
                day++;
            }
            
            if(flag) {
                answer++;
            }
        }
        
        return answer;
    }
}