이 문제는 평일동안 근무자가 처음 설정한 출근시간에 10분을 더한 출근 허용시간안에 출근을 제대로 했으면 상품을 받는 로직이다.
이때, 9시 58분에 출근했으면 출근 허용시간이 10시 8분까지인데 수의 처리를 정확히 해야 모든 테스트 케이스에서 돌아간다.
또한 주말에는 출근체크를 하지않아야 한다.
#include <string>
#include <vector>
#include <iostream>
using namespace std;
int solution(vector<int> schedules, vector<vector<int>> timelogs, int startday) {
int answer = 0;
vector<int> goodtime;
for(int i=0; i<schedules.size(); i++) {
if (schedules[i]%100 + 10 >= 60) {
int tmp = schedules[i]/100+1;
int bun = (schedules[i]%100 + 10)%60;
goodtime.push_back(tmp*100+bun);
} else
goodtime.push_back(schedules[i]+10);
}
for(int i=0; i<timelogs.size(); i++) {
vector<int> now = timelogs[i];
int check = 0;
for(int j=0; j<now.size(); j++) {
if ((j+startday)%7 == 6 || (j+startday)%7 == 0)
continue;
if (now[j] <= goodtime[i]) {
check++;
}
}
if (check == 5) answer++;
}
return answer;
}