본문 바로가기

카테고리 없음

[백준 BAEKJOON / 자바 JAVA] 2884번 : 알람 시계

Q) BAEKJOON / JAVA / 2884 : 알람 시계

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

 

2884번: 알람 시계

상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만,

www.acmicpc.net


※ if 조건문

 - 가장 기본적인 조건문 이며, 조건에 따라 코드의 실행 흐름을 다르게 동작하도록 제어하는 문장입니다.

if(조건문 1) {
	실행문 1;	//조건문 1이 true일 때 실행
}else if(조건문 2) {
	실행문 2;	//조건문 2가 true일 때 실행
}else {
	실행문 3;	//조건문 1과 2가 false일 때 실행
}

 

A)

 - [1] Scanner

import java.util.Scanner;

public class Main {
	public static void main(String args[]) {
		
		//스캐너 선언
		Scanner sc = new Scanner(System.in);
		
		//nextInt()활용 정수형으로 저장
		int hh = sc.nextInt();
		int mm = sc.nextInt();

		//if 조건문 사용
		//입력 분이 45분 미만인지 여부
		//미만 일시 입력 시간이 0시 인지 여부
		if(mm < 45) {
			mm = 60 + mm - 45;
			
			if(hh == 0) {
				hh = 23;
			}else {
				hh = hh - 1;
			}
			
		}else {
			mm = mm - 45;
		}
		
		//출력
		System.out.println(hh + " " + mm);
		
		//스캐너 종료
		sc.close();
	}
	
}

 

 - [2] BufferedReader

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
	public static void main(String args[]) throws IOException {
		
		//BufferedReader 선언
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		//readLine()으로 행 읽어서 문자열 변수에 저장
		String str = br.readLine();
		
		//StringTokenizer() 활용 토큰 단위로 분할
		StringTokenizer st = new StringTokenizer(str, " ");
		
		//nextToken()으로 토큰 값 가져오기
		//parseInt()로 정수형으로 변환 후 저장
		int hh = Integer.parseInt(st.nextToken());
		int mm = Integer.parseInt(st.nextToken());

		//if 조건문 사용
		//입력 분이 45분 미만인지 여부
		//미만 일시 입력 시간이 0시 인지 여부
		if(mm < 45) {
			mm = 60 + mm - 45;
			
			if(hh == 0) {
				hh = 23;
			}else {
				hh = hh - 1;
			}
			
		}else {
			mm = mm - 45;
		}
		
		//출력
		System.out.println(hh + " " + mm);
		
	}
	
}