문제


코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int h = scan.nextInt();
int m = scan.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));
}
}
}
풀이
어려웠다. 구글링해보니 짬빠 쫌 있는 사람들은 간단한 문제라고 하더라
하긴.. 아주 위에 있었으니까~!
이건 m(분)을 기준으로
m(분)이 45보다 작으면 h(시)에서 -1을 해준다.
그리고 45에서 m(분)을 뺀 값을 60에서 빼준다. (1시간은 60분이니까)
그리고 h(시)가 0보다 작으면 h(시)는 23이다.
왜? h에서 -1을 했을 때 0보다 작은 수가 나오는 경우는 0에서 뺐을 때 뿐이니까
0시는 밤 12시고 거기서 1시간을 빼면 23시이다.
이 조건이 아닌 경우에는 그냥 m(분)에서 45을 빼준다.
아니..이걸 보고 어떻게 해야지 이런 생각이 어떻게 바로바로 드는 걸까..?
정말 개발하는 사람들은 대단하다
요새 진짜 뼈져리게 느끼고 있다.. 똑똑한 사람들 ㅠㅠ
'알고리즘 > 백준' 카테고리의 다른 글
[백준] for문_2739번 : 구구단 (0) | 2021.08.25 |
---|---|
[백준] 2588번 : 곱셈 (0) | 2021.08.24 |
[백준] 2753번 : 윤년 / 14861번: 사분면 고르기 (java) (0) | 2021.08.24 |
[백준] 9498번 : 시험 성적 (0) | 2021.08.24 |
[백준] 1330번 : 두 수 비교하기 (Java) (0) | 2021.08.24 |