본문 바로가기

백준/JAVA

[Baekjoon/JAVA] 2752번 - 세수정렬

Baekjoon Online Judge

문제로 이동

 

문제

동규는 세수를 하다가 정렬이 하고싶어졌다.

숫자 세 개를 생각한 뒤에, 이를 오름차순으로 정렬하고 싶어 졌다.

숫자 세 개가 주어졌을 때, 가장 작은 수, 그 다음 수, 가장 큰 수를 출력하는 프로그램을 작성하시오.

 

입력

숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다.

 

출력

제일 작은 수, 그 다음 수, 제일 큰 수를 차례대로 출력한다.

 


예제 입력 예제 출력
3 1 2 1 2 3

풀이

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        int arr[] = new int[3];

        for (int i = 0; i < 3; i++)
            arr[i] = in.nextInt();

        sort(arr);
    }

    // 오름차순으로 정렬
    public static void sort(int arr[]) {
        for (int i = 0; i < 3; i++) {
            for (int j = i + 1; j < 3; j++) {
                if (arr[i] > arr[j]) {
                    int num = arr[i];
                    arr[i] = arr[j];
                    arr[j] = num;
                }
            }
        }

        // 제일 작은 수, 그 다음 수, 제일 큰 수를 차례대로 출력
        for (int i = 0; i < 3; i++)
            System.out.printf("%d ", arr[i]);
    }
}

3개의 수를 배열에 저장한 뒤 이를 오름차순으로 정렬한 뒤 출력했다.