[BOJ] 2844 | 알람시계

     

    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시가 출력 되도록 다시 조건식을 달아줘야 했다. 

    ✔ 콘솔창에 맞는 값이 찍혔어도, 문제에서 원하는 형식 ( 시 + " " + 분 )을 잘 지켜서 제출하자.

     

    728x90

    '📓 Study > Coding Test' 카테고리의 다른 글

    [BOJ] 10950번 | A+B -3  (0) 2021.07.23
    [BOJ] 2739 | 구구단  (0) 2021.07.20
    [BOJ] 14681 | 사분면 고르기  (0) 2021.07.18
    [BOJ] 2735번 | 윤년  (0) 2021.07.16
    [BOJ] 9488번 | 시험 성적  (0) 2021.07.15

    댓글