스크립트로 출력하였습니다.
📌작성코드
<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으로 초기값을 세팅해주면 된다.
'알고리즘 > 백준' 카테고리의 다른 글
[Javascript] 2753번 - 윤년 (0) | 2022.09.09 |
---|---|
[Javascript] 9498번 - 시험 성적 (0) | 2022.09.09 |
[Javascript] 2588번 - 곱셈 (0) | 2022.09.07 |
[Javascript] 10430번 - 나머지 (0) | 2022.09.06 |
[Javascript] 3003번 - 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2022.09.06 |