본문 바로가기
알고리즘/백준

[백준/자바] 2750 수 정렬하기

by Renechoi 2022. 11. 6.

[백준/자바] 2750 수 정렬하기

 

📌 문제 

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

 

 

⚔ 입력

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

 

 

📣 출력

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

 

 

 

 


 

 

 

💎 문제분석하기

 

sort() 함수를 이용하면 바로 정렬되는 문제이지만, 버블 정렬을 직접 구현하는 문제 풀이를 해본다. 

 

방식은 간단하다. 하나 하나씩 비교하면 된다. 

 

 

 

 

📜 슈도코드 작성하기 

 

 

 

 

💡 코드 구현하기

 

import java.util.Scanner;

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

		for (int i = 0; i < N; i++) {
			A[i] = sc.nextInt();
		}

		for (int i = 0; i < N - 1; i++) {    // 마지막 정렬이 되면 더이상 볼필요가 없기 때문에 N - 1
			for (int j = 0; j < N - 1; j++) {
				if (A[j] > A[j + 1]) {    // 현재 칸보다 한 칸 더가 크작다면 두 수를 바꾼다.
					int temp = A[j];
					A[j] = A[j + 1];
					A[j + 1] = temp;
				}
			}
		}

		for (int i = 0; i < N; i++) {
			System.out.println(A[i]);
		}

	}
}

 

 

 

 

 

 


 

 

 

풀이 참고 : Do it! 알고리즘 코딩테스트 - 자바 편

반응형