
😎풀이
schedules
를 인정 시간인 기초 설정 시간 + 10분으로 재정의 한다.
1-1. 이 때, 그냥 + 10을 하게되면 65분과 같은 시간 설정 오류가 있을 수 있기에 60분을 초과하지 않도록 설정해야한다.
- 각 인원별로 순회하며 설정된 출근 시간에 늦지 않았는지 검사한다.
2-1. 이 때, startday
를 기준으로 토요일, 일요일에는 별도의 검사를 진행하지 않는다.
2-2. 1 ~ 5는 월 ~ 금을 의미하며 6, 7은 토요일 일요일을 의미한다.
- 상품을 받게 되는 인원을 반환한다.
function solution(schedules, timelogs, startday) {
const n = timelogs.length
let result = n
schedules = schedules.map(schedule => {
let hour = Math.floor(schedule / 100)
let min = (schedule % 100) + 10
if(min >= 60) {
hour++
min = min % 60
}
return hour * 100 + min
})
for(let i = 0; i < n; i++) {
let today = startday
const currentLimit = schedules[i]
const timelog = timelogs[i]
for(let j = 0; j < timelog.length; j++) {
if(timelog[j] > currentLimit && today <= 5) {
result--
break
}
today = (today % 7) + 1;
}
}
return result
}