Algorithm

[Java] 백준 17388번 와글와글 숭고한

로춘남 2022. 1. 21. 11:31
728x90


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

 

17388번: 와글와글 숭고한

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

www.acmicpc.net

 

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

public class BJ17388 {
    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 i[] = {S, K, H};
        Arrays.sort(i);

        if(S + K + H >= 100) System.out.println("OK");
        else if (i[0]==S) System.out.println("Soongsil");
        else if (i[0]==K) System.out.println("Korea");
        else System.out.println("Hanyang");
    }
}

3개의 입력값을 비교하여 조건에 맞는 결과물을 출력하는 문제. 3개의 최소값에 따라 바뀌는데,

보통 최소값을 구할땐 Math.min(a,b) 식으로 사용을 한다. 3개일 경우 Math.min(Math,min(a,b),c)) 이런식으로도 사용을 하지만 비교하는 숫자의 크기에 따라 다르기도하고,

개인적으로 Math가 중복적으로 사용되는걸 크게 선호하지는 않는다.

 

그래서 입력값 S, K, H를 배열에 담고, 정렬을 통해 최소값부터 나열을 했다.

그래서 3개의 합이 100 이상을 경우에는 OK를 출력했고,

앞에 오는 최소값이 S, K, H 이냐에 따라 조건에 맞는 값들을 출력해줬다.

 

생각보다 아주 간단한 문제.

728x90