티스토리 뷰

728x90
 

2750번: 수 정렬하기

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

www.acmicpc.net

 

문제

N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.

입력

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

출력

첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.

 

 

 

가장 간단한 방법은 Arrays.sort() 메소드를 이용해 정렬하는 것이다. 여기선 기본적인 정렬 알고리즘 중 하나인 선택 정렬을 사용했다. 배열의 최소값을 찾아 맨 앞의 원소와 자리를 바꾸고, 맨 앞의 원소를 제외한 나머지 배열을 같은 방식으로 총 n번 교체하면 오름차순으로 정렬된다.

 

package baekjoon;
import java.util.Scanner;

public class B_2750 {
	public static void main(String[] args) {
		Scanner stdin = new Scanner(System.in);
		int n = stdin.nextInt();
		int []array = new int[n];
		for(int i=0;i<n;i++)
			array[i] = stdin.nextInt();
		stdin.close();
		
		int minIndex;
		int temp;

		for(int i=0;i<n;i++) { // 선택 정렬
			minIndex = i;
			for(int j=i+1;j<n;j++) 
				if(array[j] < array[minIndex]) 
					minIndex = j;
			temp = array[minIndex];
			array[minIndex] = array[i];
			array[i] = temp;

		}
		for(int a : array) // 정렬된 값 출력
			System.out.println(a);
	}

}
728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함