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

2025. 7. 29. 19:26·CodingTest/Programmers

사진을 클릭하면 해당 문제로 이동

⭐풀이 아이디어

일주일동안 자신이 설정한 출근 희망 시각 + 10분까지 어플로 출근
매일 한 번씩만 어플로 출근

모든 시각은 시에 100을 곱하고 분을 더한 정수로 표현됩니다
10시 13분은 1013이 되고 9시 58분은 958

*토요일, 일요일의 출근 시각은 이벤트에 영향을 끼치지 않습니다


1 2 3 4 5 6 7
월 화 수 목 금 토 일

{"월", "화"...}
(startday - 1) % 7
startday 가 6,7(토,일)이 아닌동안으로 계산해보기

모든 schedule에 10을 더한 뒤
timelog가 schedule보다 크면 다음사람으로 넘어가도록 구현
분기 끝날때까지 다음사람으로 넘어가지 않았다면 지각이 없다고 판단하여 answer 증가

💡풀이 1

class Solution {
    public int solution(int[] schedules, int[][] timelogs, int startday) {
        int answer = 0;
        String[] weekend = {"월", "화", "수", "목", "금", "토", "일"};

        // 750 + 10 -> 760 -> 800
        for(int index = 0; index < schedules.length; index++) {
            int hour = schedules[index] / 100;
            int min = (schedules[index] % 100 + 10);

            if(min >= 60) {
                hour += min / 60;
                min %= 60;
            }
            schedules[index] = 100 * hour + min;
        }

        A: for(int i = 0; i < schedules.length; i++) {

            int timeout = schedules[i];
            for(int day = 0; day < timelogs[i].length; day++) {
                String today = weekend[(startday + day - 1) % 7];

                // 한번이라도 지각한 경우 다음 사람으로 넘어감
                if(!today.equals("토") && !today.equals("일")) {
                    if(timeout < timelogs[i][day]) {
                        continue A;
                    }
                }
            }
            answer++;
        }

        return answer;
    }
}

 

GitHub - okjunghyeon/Programmers_CodingTest: 프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다.

프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다. Contribute to okjunghyeon/Programmers_CodingTest development by creating an account on GitHub.

github.com

 

'CodingTest > Programmers' 카테고리의 다른 글

[프로그래머스, Java] 개인정보 수집 유효기간  (0) 2025.07.29
[프로그래머스, Java] 바탕화면 정리  (0) 2025.07.29
[프로그래머스, Java] 신규 아이디 추천  (0) 2025.07.29
[프로그래머스, Java] 성격 유형 검사하기  (0) 2025.07.21
[프로그래머스, Java][카카오 인턴] 키패드 누르기  (0) 2025.07.21
'CodingTest/Programmers' 카테고리의 다른 글
  • [프로그래머스, Java] 개인정보 수집 유효기간
  • [프로그래머스, Java] 바탕화면 정리
  • [프로그래머스, Java] 신규 아이디 추천
  • [프로그래머스, Java] 성격 유형 검사하기
devoks
devoks
꾸준히 작성해보자!
  • devoks
    ok's 개발 블로그
    devoks
  • 전체
    오늘
    어제
    • 분류 전체보기 (110) N
      • Backend (15)
        • SpringBoot (0)
        • Java (15)
      • Cs (17) N
      • Infra (0)
        • AWS (0)
        • Docker (0)
      • CodingTest (78)
        • Programmers (78)
  • 링크

    • My GitHub
  • 인기 글

  • 태그

    switch
    programmers
    json
    java
    codingtest
    BufferedWriter
    BufferedReader
    StringTokenizer
    effectivejava
    CS
  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
devoks
[프로그래머스, Java] 유연근무제
상단으로

티스토리툴바