2024.09.24 작성
OS : macOs
언어 : Java
애플리케이션 : Eclipse
메모리: 28400 KB, 시간: 292 ms
구현, 정렬
2024년 9월 24일 18:48:08
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다.
둘째 줄부터 N개의 줄에는 수가 주어진다.
이 수는 절댓값이 1,000보다 작거나 같은 정수이다.
수는 중복되지 않는다.
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
package sort_numbers;
import java.util.Scanner;
public class baekjoon2750 {
public static void main(String[] args) {
// TODO Auto-generated method stub
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++) { // loop
// N - 1 - i --> loop가 한 번 돌수록 정렬된 데이터 부분이 생김
// loop가 돈 만큼 i의 값을 빼주면서 적게 탐색하는 것을 컨트롤 해주는 것
for (int j = 0; j < N - 1 - i; j++) {
// 인접한 두 수 비교
// swap 연산
if (A[j] > A[j + 1]) {
int temp = A[j];
A[j] = A[j + 1];
A[j + 1] = temp;
}
}
}
// 정렬이 끝난 후 실제 정렬된 배열 A를 그대로 출력
for (int i = 0; i < N; i++) {
System.out.println(A[i]);
}
}
}