[모의고사] 몇 시간 했더라?

최연서·2022년 1월 18일

알고리즘

목록 보기
17/30
post-thumbnail

오늘의 문제

📌 [모의고사] 몇 시간 했더라?

문제 설명

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

  • 체크인과 체크아웃은 항상 정시에 진행한 것으로 가정한다.
  • 체크아웃을 할 때 익일 시간은 24+a 로 계산한다. 즉 새벽 2시는 24+2 인 26으로 표기한다.
  • 체크인 페이지는 체크아웃이 새벽 5시 정각이나 새벽 5시를 넘어가면 체크아웃을 깜빡한 것으로 간주한다.
    따라서 새벽 5시가 넘어가 체크아웃을 하게 되면 자동으로 체크아웃을 오후 9시(21시)로 한 것으로 처리한다.

제한 조건

  • 체크인(checkin)과 체크아웃(checkout)을 진행한 시간이 담긴 배열 두 개가 주어진다.
  • 각 배열에는 월요일부터 일요일까지 체크인/아웃을 한 시간이 담겨있다.
  • checkin과 checkout 배열의 길이는 각각 7 이다.

내 풀이

function solution(arr1, arr2){
	let answer=0;

  for (let i = 0; i < arr1.length; i++){
    if (29 <= arr2[i]){ //29보다 크거나 같은, 즉 5시 이상 체크아웃이면
      arr2[i] = 21 //21로 선언
    }
    let time = arr2[i] - arr1[i] //하루 공부한 시간 = 체크아웃 - 체크인
    answer += time //answer에 더해 주기
  }
	return answer; //반환
}
profile
하고 싶은 것 하면서 삽니다

0개의 댓글