[BOJ] 2884

Organ·2023년 9월 1일
0

[문제 풀이]

목록 보기
5/123

알람 시계

문제

입력

출력

내 풀이

import java.io.IOException;
import java.util.Scanner;

public class Main
{
	public static void main(String[] args) throws IOException
	{
		Scanner sc = new Scanner(System.in);
		int H,M;		// 시간, 분

		H = sc.nextInt();
		M = sc.nextInt();

		if(M < 45)
		{
			H = H - 1;
			M = 60 + M - 45;
			if(H < 0)
				H = 23;
		}
		else 
			M = M - 45;

		System.out.printf("%d %d", H, M);
	}
}

다른 풀이

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
 
public class Main {
	public static void main(String[] args) throws IOException {
    
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 
 		String str = br.readLine();
		StringTokenizer st = new StringTokenizer(str," ");
		int H = Integer.parseInt(st.nextToken());
		int M = Integer.parseInt(st.nextToken());
		
		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));
		}
    }
}

문법

public StringTokenizer(String str, String delim);
delim을 입력하지 않을 시 default 값인 공백으로 문자열을 나눠준다.

nextToken()
다음 토큰 반환

  • 우리가 지정한 구분자로 문자열을 나누어주는 클래스이다. 이렇게 구분자로 문자열을 나눠주면 더 이상 나눌 수 없는 요소들을 Token이라고 한다.

  • 전화번호로 예를 들면, 010-1234-5678 이라는 번호에서 - 는 구분자를 뜻 하는 것이고 010, 1234, 5678 은 Token(토큰) 인 것이다.

출처

https://st-lab.tistory.com/24
https://koohee.tistory.com/14

0개의 댓글