Stay Hungry Stay Foolish

BOJ 코딩테스트/Bronze

BOJ 2083 : 럭비 클럽 (Java/구현/Bronze 4)

dev스카이 2024. 9. 29. 18:25

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


설명

나이가 18세 이상이거나, 몸무게가 80kg 이상이면 성인부. 그 외에는 청소년부다. 입력받은 대로 바로 결과 출력한다.

 

풀이

1. 입력은 String으로 받되, 공백 기준으로 분리해서 배열에 저장

 

2. 나이와 몸무게는 int형으로 변환 필요

- java.lang.Integer 클래스의 parseInt() 혹은 valueOf() 메소드를 사용

 

※ 주의할 점 : 동일한 걸 찾으려고 할 때 == 말고 무조건 eqauls()

 

 

Solution

import java.util.Scanner;

public class _2083 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (true) {
            String[] member = sc.nextLine().split(" "); //회원 정보 입력 받고 공백 기준으로 분리
            //마지막 줄 처리
            if (member[0].equals("#")) {
                break;
            }
            int age = Integer.parseInt(member[1]);
            int weight = Integer.parseInt(member[2]);
            if (age > 17 || weight >= 80) { //17세 이상이거나 80kg 이상
                System.out.println(member[0] + " Senior");
            } else { //17세 미만이거나 80kg 이하
                System.out.println(member[0] + " Junior");
            }
        }
        sc.close();
    }
}

 

 

👩‍💻 회고

문자열이 같은지 비교할 때 아무생각 없이 '==' (동일성) 을 사용해서 마지막 줄을 처리하려는데 while문을 계속 빠져나오지 못해서 답답했었다. 근데 갑자기 equals()를 사용해야 한다는 걸 뒤늦게 깨달아버렸다. 그래도 혼자 해결했으니 이만하면 만족이다. 파이썬 쓰다버릇 고쳐고쳐.