먹었으면 뇌를 쓰자

백준 2884 java - 알람 시계 본문

JAVA/백준 알고리즘

백준 2884 java - 알람 시계

뇌이비 2022. 11. 2. 16:14

문제

 

 

 

정답

드디어 머리를 써야 하는 문제가 나왔다. 

처음에는 '시간 차이'에 꽂혀서 time difference calcutation을 구글링했다.

덕분에 SimpleDateFormat 클래스와 Date.getTime(); 메소드를 발견했지만

이 두 클래스는 풀이와 아무 관련이 없다^^

 

 

 

손으로 직접 쓰는 편이 이해하기 수월했다.

이 문제의 분기점은 크게 보면 2가지, 파고들면 3가지이다.

 

① min < 45 인 경우

    hour가 1씩 줄어들고, min은 60-(45-min)이 된다.    

          √ 만약 초깃값 hour가 0일 경우 -1이 아니라 23이 되어야 한다.  -1시는 없다. 

 

② min > 45인 경우 

   hour는 그대로, min은 min-45가 된다. 

 

 

 

 

 

* 여기서 hour--;는 1씩 감소한다는 증감 연산자(increment and decrement operators)이다.

hour = hour - 1;과 동일한 기능이지만 코드 길이가 줄어들어 더 효율적이다. 

 

Comments