백준 2884 ) 알람 시계 (java)

2021. 8. 11. 00:59코딩/Python

시간을 구하는 문제는 결코 쉽지많은 않은 것 같다. 

 

나의 사고과정 

1) 사용자로부터 Scanner 클래스를 이용하여 시간을 입력받고 (H : 시 , M : 분) 

2) 우리가 필요한 값은 입력받은 시간에서 -45분을 하는 것이므로 

   H : M-45 를 한다.

3) 그러나 M-45>=60 이라면 H에 +1을 해줘서 H에 1시간을 추가시키고 

4) M-45 < 60 이라면 H : M-45 그대로 출력해준다. 

 

위와 같은 사고과정으로 코드를 짜니 말도 안되는 결과가 나왔다.

import java.util.Scanner; 

public class Test {
	public static void main(String[] args){
		
		Scanner sc = new Scanner(System.in); // 사용자로부터 값을 입력받기 위해 Scanner 클래스를 사용한다. 
		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));
			
		}
	}
}

// 출처 : https://www.acmicpc.net/problem/2884

'코딩 > Python' 카테고리의 다른 글

백준 10950 - java ) A+B-3  (0) 2021.08.18
백준 2739 ) 구구단 (java)  (0) 2021.08.18
백준 14681 ) 사분면 고르기 (java)  (0) 2021.08.11
백준 2753 ) 윤년 (java)  (0) 2021.08.10
백준 9498 ) 시험 성적 (java)  (0) 2021.08.08