*// 체크인 페이지 조건에 따라 이를 만족하는 알고리즘을 생성하자*
*//1)체크인과 체크아웃은 항상 정시에 진행한 것으로 가정한다*
*//2)체크아웃을 할 때 익일 시간은 24+a로 계산한다, 즉 새벽2 2시는 24+2인 26으로 표기한다*
*//3)체크인 페이지는 체크아웃이 새벽 5시 정각 또는 새벽 5시를 넘어가면 체크아웃을 잊은 것으로 간주한다*
*//따라서 새벽 5시가 넘어가 체크아웃을 하게되면 자동으로 체크아웃을 오후 21시로 한 것으로 간주한다.*
*//체크인과 체크아웃을 진행한 시간이 담긴 배열 두 개가 주어짐*
*//각 배열에는 월 ~ 일까지 체크인/아웃을 한 시간이 담겨있다.*
*//checkin과 checkout 배열의 길이는 각각 7이다.*
*//입출력 checkin : [9,9,8,8,7,8,9] checkout : [21,25,30,29,22,23,30] result = 96*
*//입출력 checkin : [9,7,8,9,7,9,8] checkout : [23,22,26,26,29,27,22] result = 110*
function solution(checkin, checkout) {
//입력받는 배열의 길이는 같기 때문에 for문을 어느 것으로 돌려도 상관없음*
let answer = 0;
let stdyRecord = 0;
for(let i = 0;i < checkout.length;i++) {
if(checkout[i] >= 29 ) {
//24시간제로 계산을 했을때 새벽 5시는 29시며, 새벽5시 정각이나 넘어가면이라는 조건이기의 <= 타입을 사용*
checkout[i] = 21;
}
//공부시간의 합계를 받을 변수에 체크아웃 시간 - 체크인 시간을 할당해준다.*
stdyRecord = checkout[i] - checkin[i];
answer += stdyRecord;
}
return answer;
}
let checkin = [9,7,8,9,7,9,8];
let checkout = [23,22,26,26,29,27,22];
let result = solution(checkin, checkout);
console.log(result);