[백준] 2750번. 수 정렬하기 (Java)

kimjy·2021년 7월 24일
0

알고리즘

목록 보기
1/11
post-thumbnail

[문제 바로가기] https://www.acmicpc.net/problem/2750

문제

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

입력

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

출력

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


풀이

매우 단순한 숫자 정렬문제이다.

2가지 방법을 이용해서 코드를 작성했다.


코드

  1. Arrays.sort() 사용
import java.util.Arrays;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int num[] = new int[N];	//입력개수만큼의 배열
		
		for(int i = 0; i < N; i++) { 
			num[i] = sc.nextInt();
		}
		
		Arrays.sort(num); //오름차순 정렬
		
		for(int n : num) {
			System.out.println(n);
		}
	}
}
  1. 버블정렬 사용
import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		    /***** 버블정렬 사용 *****/
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int num[] = new int[N];	//입력개수
		
		for(int i = 0; i < N; i++) {
			num[i] = sc.nextInt();
		}
		
		for(int i = 0; i < N; i++) 
		{
			for(int j = i; j < N; j++) 
			{
				if(num[i] > num[j]) {    // 오름차순 정렬
					int tmp = num[i];
					num[i] = num[j];
					num[j] = tmp;
				}
			}
		}
		for(int n : num) {
			System.out.println(n);
		}
	}
}
profile
초보 개발자

0개의 댓글