Stay Hungry Stay Foolish

BOJ 코딩테스트/Bronze

BOJ 5596 : 시험문제 (Java/구현/Bronze 4)

dev스카이 2024. 10. 10. 17:04

[문제 링크] 👉 https://www.acmicpc.net/problem/5596


설명

두 명의 총 점수(정보, 국어, 과학, 영어) 중 더 높은 점수를 출력하는 문제이다.

 

풀이

StringTokenizer

공백을 포함하는 경우의 정수형을 입력하고 싶을 때 이용, 두 번째 인자에는 default로 공백이다. "/" 기준으로 분리하고 싶으면 인자로 넘기면 된다.

StringTokenizer st1 = new StringTokenizer(br.readLine());

 

총 두 줄을 입력받으려면 인스턴스를 두 개 생성한다. 굳이 여러 개 생성하지 않고 반복문으로 입력받아도 되긴 하다.

StringTokenizer st1 = new StringTokenizer(br.readLine());
StringTokenizer st2 = new StringTokenizer(br.readLine());

 

hasMoreTokens()

StringTokenizer 클래스 객체에서 다음에 읽어 들일 token이 있으면 true, 없으면 false를 return한다.

 

 

Solution

import java.io.*;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        //공백 포함하는 경우의 int형을 입력받고 싶을 때
        StringTokenizer st1 = new StringTokenizer(br.readLine());
        StringTokenizer st2 = new StringTokenizer(br.readLine());
        //총 두 줄을 입력

        int min = 0; //민국이의 점수
        int man = 0; //만세의 점수

        while (st1.hasMoreTokens()) {
            min += Integer.parseInt(st1.nextToken());
        }

        while (st2.hasMoreTokens()) {
            man += Integer.parseInt(st2.nextToken());
        }

        System.out.println(Math.max(min, man));
    }
}

`

 

👩‍💻 회고

토큰을 처음 사용해봤다. 간단한 문제인데 처음 보는 메서드나 라이브러리를 사용하려니 어려웠다.