2026. 3. 5. 09:36ㆍPS 풀이
문제
https://school.programmers.co.kr/learn/courses/30/lessons/388351
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
요약
- 직원 N명의 일주일 간의 출근 희망 시각과 실제 출근 시각이 주어졌을 때, 평일 간 지각하지 않은 사람의 수를 구하자.
- 지각 기준: 출근 희망 시간 + 10분 초과
풀이 과정
아이디어
3, 4자리의 정수로 변환된 시각을 비교하며 조건을 만족하는 직원의 수를 구해야 한다.
지각 기준이 출근 희망 시각 + 10분 이므로 다음과 같이 비교 대상 시각(max)을 미리 구해두자.
출근 희망 시각의 분(m)이 49분을 초과할 경우 10분을 더한 시간이 올바른 시각을 표현하도록 계산해야 한다.
for (int i = 0; i < schedules.length; ++i) {
final int m = schedules[i] % 100;
final int max = m <= 49 ?
schedules[i] + 10 : schedules[i] - m + 100 + (m + 10) % 60;
이후에는 평일 중 실제 출근 시각과 비교해주며 지각을 안한 직원의 수를 세면 된다.
int day = startday;
boolean lazy = false;
for (int t = 0; t < 7; ++t) {
if (day < 6 && timelogs[i][t] > max) {
lazy = true;
}
day = (day % 7) + 1;
}
if (!lazy) ++answer;
}
성능 분석
- 시간 복잡도: $O(N^2)$
- 제출결과: Accepted
참고
문제
https://school.programmers.co.kr/learn/courses/30/lessons/388351
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
소스코드
problem-solving/Programmers/2025 프로그래머스 코드챌린지 1차 예선/유연근무제.java at main · rogi-rogi/proble
Daily Problem Solving Challenges. Contribute to rogi-rogi/problem-solving development by creating an account on GitHub.
github.com
'PS 풀이' 카테고리의 다른 글
| [코드트리 Trail 6] 트리의 부모 노드 [Java] (0) | 2025.03.05 |
|---|---|
| [Programmers 알고리즘 고득점 Kit] 여행 경로[Python] (0) | 2025.02.28 |
| [Programmers 알고리즘 고득점 Kit] 네트워크 [Python] (0) | 2025.02.26 |
| [LeetCode] 197. Rising Temperature [MySQL] (0) | 2025.02.26 |
| [프로그래머스] 카펫 [Java] (0) | 2025.02.21 |