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

728x90

 

https://hyunjiishailey.tistory.com/706

 

1. Java

class Solution {
    public int solution(int[] schedules, int[][] timelogs, int startday) {
        int answer = 0;
        for ( int i = 0; i < schedules.length; ++i ) {
            int time = schedules[i];
            int time_h = (int) (time / 100);
            int time_m = time % 100;
            time_m += 10;
            if ( time_m >= 60) {
                time_m -= 60;
                time_h++;
            }
            int time_admit = (time_h * 100) + time_m;
            boolean able = true;
            for ( int j = 0; j < timelogs[i].length; ++j ) {
                int day = (j+startday) % 7;
                if (day == 0 || day == 6) {
                    continue;
                }
                if ( time_admit < timelogs[i][j] ) {
                    able = false;
                    break;
                }
            }
            if ( able ) {
                answer++;
            }
        }
        
        return answer;
    }
}

 

2. Python

def solution(schedules, timelogs, startday):
    answer = 0
    for i in range(len(schedules)) :
        time = schedules[i]
        time_h = time // 100
        time_m = time % 100
        time_m += 10
        if time_m >= 60 :
            time_m -= 60
            time_h += 1
        time_admit = (time_h * 100) + time_m
        for j in range(len(timelogs[i])) :
            day = (j + startday) % 7
            if day == 0 or day == 6 :
                continue
            if time_admit < timelogs[i][j] :
                break
        else :
            answer += 1
    return answer

 

반응형