본문 바로가기
PS/BOJ

[자바] 백준 2083 - 럭비 클럽 (java)

by Nahwasa 2022. 10. 20.

 문제 : boj2083


 

필요 알고리즘 개념

  • 구현
    • 주어진 조건대로 구현하는 문제이다.

※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다.

 


 

풀이

  이 문제에서 중요한 부분은 이름과 두 자연수를 파싱하고, '# 0 0' 까지만 입력을 받고 멈추는 부분이다. 이름과 두 자연수를 각각 name, age, weight 라고 하자. 매번 1줄씩 입력받을 때 마다 name을 출력해주고 한칸 띄운 후, age>17||weight>=80 이라면 'Senior', 아니라면 'Junior'를 출력해주면 된다. 이하 코드에서 입력받는 방식에 대해서는 위에 링크되어 있는 '자바로 백준 풀 때의 팁 및 주의점'을 참고하자.

 

 


 

코드 : github

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

public class Main {
    private void solution() throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        while (true) {
            String cur = br.readLine();
            if (cur.equals("# 0 0")) break;
            StringTokenizer st = new StringTokenizer(cur);
            String name = st.nextToken();
            int age = Integer.parseInt(st.nextToken());
            int weight = Integer.parseInt(st.nextToken());
            sb.append(name).append(' ').append(age>17||weight>=80?"Senior":"Junior").append('\n');
        }
        System.out.print(sb);
    }

    public static void main(String[] args) throws Exception {
        new Main().solution();
    }
}

댓글