[프로그래머스] 유연근무제 - JAVA(자바)

2025. 9. 10. 22:54·알고리즘
반응형

 

문제 이해

유연 근무제 적응을 위해 자신이 정한 출근 희망 시간 schedules[i] 에 일주일동안 제시간 + 10분에 온다면 포상을 주려고 한다.( 토요일과 일요일 제외)

이 때 포상을 받는 수는?? 

제한 사항을 보니 시간도 넉넉할 것 같고, 간단한 구현문제 인것 같다. 

나같은 경우 이런 문제가 나왔을 때 깔끔히 풀기 보다 함수로 나눠서 빨리 빨리 푸는 편이다.

일단 제한 사항을 보니 

24시가 넘어 00시가 되는 부분은 구현해도 되지 않으니 쉽게 구현하면 될 것 같다.

1. 토요일 일요일을 제외하는 함수 

2. 제시간에 왔는지 안왔는지 체크하는 함수

3. 일주일 동안 모두 제시간에 왔는지 체크하는 함수 (코드를 보면 알겠지만 Main함수에서 그냥 구현해서 사용했다.)

 

코드

class Solution {
    int NoDay1;
    int NoDay2;
    public int solution(int[] schedules, int[][] timelogs, int startday) {
        int answer = 0;
        NoDay(startday);
        int len = schedules.length;
        for(int i =0; i< len; i++){
            int time = schedules[i];
            int ans = 0;
            for(int j = 0; j <7 ; j++){
                if(j == NoDay1) continue;
                if(j == NoDay2) continue;
                if(isSafe(time, timelogs[i][j])) ans++;
            }
            if(ans == 5) answer++;
        }
        return answer;
    }
    public void NoDay(int startday){
        if(startday == 1){NoDay1 = 5; NoDay2 = 6;}
        if(startday == 2){NoDay1 = 4; NoDay2 = 5;}
        if(startday == 3){NoDay1 = 3; NoDay2 = 4;}
        if(startday == 4){NoDay1 = 2; NoDay2 = 3;}
        if(startday == 5){NoDay1 = 1; NoDay2 = 2;}
        if(startday == 6){NoDay1 = 0; NoDay2 = 1;}
        if(startday == 7){NoDay1 = 6; NoDay2 = 0;}
    }
    public boolean isSafe(int time, int safe){
        int hour = time / 100;
        int min = time % 100;
        int safeHour = safe / 100;
        int safeMin = safe % 100;
        if(min + 10 >= 60) {
            hour++;
            min -= 50;
        }else{
            min += 10;
        }

        if(safeHour > hour){
            return false;
        }else{
            if(safeHour == hour){
                if(safeMin > min){
                    return false;
                }else{
                    return true;
                }
            }else{
                return true;
            }
        }
    }
}
반응형

'알고리즘' 카테고리의 다른 글

[프로그래머스] 음양 더하기  (0) 2025.09.17
[프로그래머스] 달리기 경주 - 자바(JAVA)  (0) 2025.09.09
[PCCP 모의고사 2회] 4번 보물지도 - 자바(java)  (2) 2025.08.14
[PCCP 모의고사 2회] 3번 카페 확장 - 자바(java)  (1) 2025.08.14
[PCCP 모의고사 2회] 2번 신입사원 교육 - 자바(java)  (2) 2025.08.14
'알고리즘' 카테고리의 다른 글
  • [프로그래머스] 음양 더하기
  • [프로그래머스] 달리기 경주 - 자바(JAVA)
  • [PCCP 모의고사 2회] 4번 보물지도 - 자바(java)
  • [PCCP 모의고사 2회] 3번 카페 확장 - 자바(java)
김RPG
김RPG
  • 김RPG
    김RPG
    김RPG
  • 전체
    오늘
    어제
    • 분류 전체보기 (74)
      • 알고리즘 (46)
      • AWS (2)
      • SPRING (4)
      • IT ISSUE (10)
      • Git (1)
      • 개인용 (4)
      • Database (6)
  • 인기 글

  • 최근 글

  • 블로그 메뉴

    • 홈
    • 관리
  • hELLO· Designed By정상우.v4.10.3
김RPG
[프로그래머스] 유연근무제 - JAVA(자바)
상단으로

티스토리툴바