리나의 개발로그

백준 알고리즘 no.10817 세 수

|

출처

문제출처 - 백준 알고리즘 2단계(if문) 中

문제

세 정수 A, B, C가 주어진다. 이때, 두 번째로 큰 정수를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100)

출력

두 번째로 큰 정수를 출력한다.

제출

import java.util.*;

class If_10817{
	public static void main(String[] args){
		Scanner s=new Scanner(System.in);
		int arr[] = new int[3];

        for (int i = 0; i < arr.length; i++){
            arr[i] = new int[3];
        }

        for (int i = 0; i < arr.length; i++){
            for (int j = 0; j < arr.length; j++){
                if (arr[i] < arr[j]){
                    int imsi = arr[i];
                    arr[i] = arr[j];
                    arr[j] = imsi;
                }
            }
        }sc.close();
		
		System.out.print(arr[1]);
    }
}

숏코드

import java.util.*;
class Main{
	public static void main(String[] t){
		Scanner s=new Scanner(System.in);
		int[]a={s.nextInt(),s.nextInt(),s.nextInt()};
		Arrays.sort(a);
		System.out.print(a[1]);}}

열심히 선택정렬 방식으로 대소비교를 했는데, 숏코딩을 보니 java.util.sorts; 를 import해서 사용한 코드들이었다. Arrays.sort(arr) 클래스를 사용하면 배열이 오름차순으로 정렬 되는 것이었다…!! 유용하게 쓰일 것 같다.

포인트

  • 나와 같은 선택정렬 방식을 하면 아무래도 코드가 길어질 수 밖에 없는데, Arrays.sort를 쓰니 매우 간단!

Comments