본문으로 바로가기
728x90
반응형

▷ 문제

N개의 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요.

정렬하는 방법은 선택정렬입니다.

* 입력

첫 번째 줄에 자연수 N(1<=N<=100)이 주어집니다.

두 번째 줄에 N개의 자연수가 공백을 사이에 두고 입력됩니다. 각 자연수는 정수형 범위 안에 있습니다.

* 출력

오름차순으로 정렬된 수열을 출력합니다.

▷ 입력 예시

6

13 5 11 7 23 15

▷ 출력 예시

5 7 11 13 15 23

▷ 풀이

import java.util.Scanner;

public class Main {
    public int[] solution(int n, int[] arr){
      for(int i=0; i<n-1; i++){
        int minIndex = i;
        for(int x=i+1; x<n; x++){
          if(arr[minIndex] > arr[x]){
            minIndex = x;
          }
        }

        int swapped = arr[i];
        arr[i] = arr[minIndex];
        arr[minIndex] = swapped;
      }

      return arr;
    }

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

        int n = kb.nextInt();
        int[] arr = new int[n];

        for(int i=0; i<n; i++){
          arr[i] = kb.nextInt();
        }

        kb.close();

        for(int x : main.solution(n, arr)){
          System.out.print(x + " ");  
        }
    }
  }

▷ 연관 글

반응형