먹었으면 뇌를 쓰자
백준 2884 java - 알람 시계 본문
문제
정답
드디어 머리를 써야 하는 문제가 나왔다.
처음에는 '시간 차이'에 꽂혀서 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;과 동일한 기능이지만 코드 길이가 줄어들어 더 효율적이다.
'JAVA > 백준 알고리즘' 카테고리의 다른 글
백준 2480 java - 주사위 세 개 (하면 된다) (0) | 2022.11.02 |
---|---|
백준 2525 java - 오븐 시계 (0) | 2022.11.02 |
백준 14681 java - 사분면 고르기 (0) | 2022.11.01 |
백준 2753 java - 윤년 (0) | 2022.10.31 |
백준 9498 java - 시험 성적 (또 스스로 풀었다!) (0) | 2022.10.29 |
Comments