백준 와글와글 숭고한

KIMYEONGJUN·2025년 1월 24일
post-thumbnail

문제

내가 생각했을때 문제에서 원하는부분

첫 번째 줄에 숭실대학교의 참여도, 고려대학교의 참여도, 한양대학교의 참여도를 의미하는 세 자연수 S, K, H가 공백으로 구분되어 주어진다. (0 ≤ S, K, H ≤ 100)
세 대학의 참여도는 모두 다르다.

첫 번째 줄에 일처리가 잘 되고 있어 무언의 압박이 필요가 없으면 (따옴표를 제외하고) “OK”를 출력한다.
그 외에는 첫 번째 줄에 무언의 압박이 필요한 동아리가 속한 대학의 영문 이름의 첫 단어를 출력한다.
영문 이름 표기는 지문에 나온 것을 따른다.

내가 이 문제를 보고 생각해본 부분

BufferedReader를 사용해 입력(System.in)에서 데이터를 읽는다.
br.readLine()을 통해 한 줄의 입력을 읽고, 이를 StringTokenizer를 사용하여 공백 기준으로 나눠준다.
참여도 저장:
nextToken() 메서드를 사용하여 각 대학의 참여도를 문자열로 가져온 후, Integer.parseInt()를 통해 정수로 변환하여 각각 S, K, H 변수에 저장한다.
합계 계산: 세 대학의 참여도를 더하여 total 변수에 저장한다.
조건 체크:
total이 100 이상이면 "OK"를 출력한다.
그렇지 않은 경우, 다음 조건으로 넘어간다.
가장 낮은 참여도 찾기:
각 대학의 참여도를 비교하여 가장 낮은 값을 가진 대학의 이름을 출력한다.
이때, 세 대학의 참여도가 모두 다르다는 조건이 주어졌으므로, 각 조건문이 명확하게 하나의 대학만을 선택한다.

코드로 구현

package baekjoon.baekjoon_26;

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

// 백준 17388번 문제
public class Main911 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());

        int S = Integer.parseInt(st.nextToken()); // 숭실대학교 참여도
        int K = Integer.parseInt(st.nextToken()); // 고려대학교 참여도
        int H = Integer.parseInt(st.nextToken()); // 한양대학교 참여도

        // 참여도 합계 계산
        int total = S + K + H;

        // 합계가 100 이상인지 확인
        if(total >= 100) {
            System.out.println("OK");
        } else {
            // 가장 낮은 참여도 찾기
            if(S < K && S < H) {
                System.out.println("Soongsil");
            } else if(K < S && K < H) {
                System.out.println("Korea");
            } else {
                System.out.println("Hanyang");
            }
        }

        br.close();
    }
}

마무리

코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.

profile
Junior backend developer

0개의 댓글