프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
1. 일주일동안 출근 희망 시간 + 10분 이내 출근하면 선물을 주는 이벤트를 진행한다.
2. 이벤트는 startday부터 시작이고, 주말에는 이벤트에 영향을 끼치않는다.
3. 선물을 받는 직원 수를 구해라.
schedules[i] = i번째 직원의 출근 희망 시간
1 ≤ schedules의 길이 ≤ 1,000
700 ≤ schedules[i] ≤ 1100
timelogs[i][j] = i번째 직원의 j일차 출근 시간
timelogs[i]의 길이 = 7
1 ≤ timelogs의 길이 ≤ 1,000
600 ≤ timelogs[i][j] ≤ 2359
startday = 이벤트 시작일
1 ≤ startday ≤ 7
1은 월요일, 2는 화요일, ...
시간 = h * 100 + m
1. 직원별로 선물을 받을 수 있는지 확인한다.
2. 선물을 받을 수 있는 조건 = 모든 날이 아래 조건을 만족할 때
👉 주말이거나 출근시간 <= 출근희망시간 + 10분
def solution(schedules, timelogs, startDay):
return sum(check(goal, log, startDay) for goal, log in zip(schedules, timelogs))
def check(goal, timelog, startDay):
targetTime = add10Minutes(goal)
for d in range(7):
today = (startDay + d) % 7
if today in [6, 0]: # 주말 스킵
continue
if timelog[d] > targetTime:
return False
return True
def add10Minutes(time):
hour, minute = divmod(time, 100)
minute += 10
if minute >= 60:
hour += 1
minute -= 60
return hour * 100 + minute
[프로그래머스] 388353. 지게차와 크레인 | Python3, Level2, BFS (0) | 2025.04.16 |
---|---|
[프로그래머스] 389479. 서버 증설 횟수 | Python3, Level2, 단순 구현 (0) | 2025.04.15 |
[프로그래머스] 389478. 택배 상자 꺼내기 | 파이썬3, 구현 (1) | 2025.04.14 |
[프로그래머스] 301651. 멸종위기의 대장균 찾기 | MySQL, 재귀 쿼리 (0) | 2025.04.10 |
[백준] 2161. 카드1 | 큐 | 파이썬, 정답 소스코드 (2) | 2024.10.09 |