⭐풀이 아이디어
일주일동안 자신이 설정한 출근 희망 시각 + 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 |