몇시간 했더라

이건선·2023년 2월 17일

지용이는 한 주 동안 공부 기록을 남길 알고리즘을 만들어보기로 결심했다.
체크인 페이지에는 몇가지 조건이 있는데 이를 만족하는 알고리즘을 만들어보자.

  • 체크인과 체크아웃은 항상 정시에 진행한 것으로 가정한다.
  • 체크아웃을 할 때 익일 시간은 24+a 로 계산한다. 즉 새벽 2시는 24+2 인 26으로 표기한다.
  • 체크인 페이지는 체크아웃이 새벽 5시 정각이나 새벽 5시를 넘어가면 체크아웃을 깜빡한 것으로 간주한다.
    따라서 새벽 5시가 넘어가 체크아웃을 하게 되면 자동으로 체크아웃을 오후 9시(21시)로 한 것으로 처리한다.
function solution(arr1, arr2) {
  let add = 0;
  for (let i = 0; i < arr1.length; i++) {
    if (arr2[i] > 28) {
      let sum = 21 - Number(arr1[i]);
      add += sum;
    } else {
      let sum = Number(arr2[i]) - Number(arr1[i]);
      add += sum;
    }
  }
}

let arr1 = [9, 9, 9, 9, 7, 9, 8];
let arr2 = [23, 23, 30, 28, 30, 23, 23];

새벽 5시를 넘기면 21시로 체크해야 하기 때문에 그 지점을 if문으로 분기했다. 여기서 답안을 작성 할 때 한 실수는 시작시간을 무조건 9시로 생각해서 if문 ture를 add += 12로 고정했었다.

profile
멋지게 기록하자

0개의 댓글