스크립트로 출력하였습니다.

 

 

 

 

📌작성코드

<script>
  function solution(h, m) {
    let answer, hour = 0, minute = 0;
    if (m - 45 < 0) { //m이 음수일때,
      minute = 60 + (m - 45) //음수일때 m의 값에 60을 더해준다.
      hour = h - 1

      if (hour === -1) { //오후 12시는 24시고 0:00으로 표시한다고 했으니, 
        //hour이 만약에 -1보다 작으면 hour은 23으로 초기값세팅해준다.
        hour = 23;
      }
    } else {
      minute = m - 45;
    }
    answer = hour + ':' + minute
    return answer;
  }
  console.log(solution(10, 10))
  console.log(solution(0, 30))
  console.log(solution(23, 40))
</script>

늦잠을 자는 친구를 위해 원래 알람시간 기준에서 45분 뒤로 알람을 맞추는 프로그램을 만드는 문제이다.

(h = 시, m = 분)

만약 m이 45보다 클 경우엔, m-45를 해주면 되고,

m이 45보다 작은 경우, m에서 45를 뺐을 때, 숫자가 - 마이너스(음수)가 나온다면 

h에서 1을 빼고 (m-45) + 60 을 해주면 된다. 

 

더 쉽게 숫자를 넣어보자.

h=2시, m=50분 이라고 가정을 하면

m은 45보다 크니까 h는 변동이 없고, 50-45=5로 2시 5분이라는 숫자가 남게 된다.

 

h=2시 m=30분 이라고 했을땐,

m이 45보다 작으니까 (30-45) +60 = 45가 되고,

h(2시)에서 1을 빼주면 1:45분이라는 숫자가 남게 된다.

 

오후 24시의 경우엔 0:00으로 표시하고 있고,

조건을 넣어서 만약 h(시간)이 -1보다 작을 경우엔 h를 23으로 초기값을 세팅해주면 된다.

복사했습니다!