📓 Study/Coding Test
[BOJ] 2844 | 알람시계
seongit
2021. 7. 18. 13:01
import java.util.Scanner;
public class Main {
static Scanner sc = new Scanner (System.in);
public static void main(String[] args) {
int h = sc.nextInt();
int m = sc.nextInt();
if(m<45) {
h--;
m = 60-(45-m);
if(h<0) {
h = 23;
}
System.out.println(h+" "+m);
}else {
System.out.println(h+" "+(m-45));
}
}
}
배운점
✔ if문 안을 m>45로 했을 때는 오답이라고 나오는데, m<45로 변경하니까 정답이라고 변경되었다. 안의 코드는 동일한데..!
✔ 후위연산자 활용하기. 위의 경우 입력한 분이 45보다 작을 경우 ( ex. 15분 ) 무조건 입력한 시간에서 빼야하기 때문에 h--;를 사용했다. 그리고 h-- 되었기 때문에 60-(45-m)이 가능할 수 있었다. 만약 h가 0보다 작을 경우 ( ex. 0 - 1 ) 에는 23시가 출력 되도록 다시 조건식을 달아줘야 했다.
✔ 콘솔창에 맞는 값이 찍혔어도, 문제에서 원하는 형식 ( 시 + " " + 분 )을 잘 지켜서 제출하자.