알람 시계(2884) - JS

박정호·2022년 1월 17일
0

BAEKJOON

목록 보기
16/57
post-thumbnail

우선 가장 크게 나누어야 하는 것은 입력된 minute값이 45보다 크거나같은지, 작은지 입니다.
minute이 45보다 크거나 같다면 45분전에도 같은 hour를 가지지만,
minute이 45보다 작다면 45전에는 hour가 그 전시간대로 넘어가기 때문입니다.

따라서 나오는 코드

if( m >= 45 ){
}
else if(m < 45){
}

그 다음으로는 hour가 0시(자정)일 때입니다.

hour가 0시가 아닌 시간들은 -1을 통해 쉽게 구할 수 있지만, 0시 - 1 의 경우 -1시가 되므로 에러가 납니다. 따라서, 0시(자정)의 경우만 시간을 넘을시 23시로 변환되게 짰습니다. 앞서 짠 minute이 45보다 작을 경우의 코드 안에 대입됩니다.

else if(m < 45){
    if(h==0){
    }
    else if(h=!0){     
    }
}

마지막으로,
1) minute이 45보다 클 경우( hour는 그대로, minute에서 45분을 뺌.)

 console.log(h, m-45);

2) minute이 45보다 작을 경우 + 0시일 경우( hour는 23시로, minute에는 15 더함.)

 console.log(23, m+15);

3) minute이 45보다 작을 경우( hour에서 1을 빼고 , minute에는 15 더함.)

 console.log(h-1, m+15);

profile
기록하여 기억하고, 계획하여 실천하자. will be a FE developer (HOME버튼을 클릭하여 Notion으로 놀러오세요!)

0개의 댓글