1 minute read

Mention : SWAP을 하면 BUBBLE BUBBLE 🧼, TEMP가 포인트이다.

수 정렬하기

시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율
1 초 128 MB 151547 86105 59620 57.996%

문제

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

입력

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

출력

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

예제 입력 1

5
5
2
3
4
1

예제 출력 1

1
2
3
4
5

슈도 코드

N(정렬할  개수)
A(정렬할 배열 선언) 
for(N){입력 숫자를 배열에 넣어준다}
버블정렬
int temp 선언; 스왑연산을 위한 임시 변수
for(N번){
	for(N-1) {
				if(A[j]>A[j+1]) {
				SWAP 연산
				temp에 A[j+1] 넣어줌 (작은수)
				A[i+1] = A[i];
				A[i] = temp;
				}
			수는 중복되지 않음으로 같은 경우는 없다.	
			}
			//A배열 출력
		}
}

First Try

package sort;

import java.util.Scanner;

public class P2750_bubbleSort {
	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();
		}
		int temp = 0;
		for (int i = 0; i < N; i++) {
			for (int j = 0; j < N-1-i; j++) {
				if (A[j] > A[j + 1]) {
					temp = A[j + 1];
					A[j + 1] = A[j];
					A[j] = temp;
				}
			}
		}
		for (int i = 0; i < N; i++) {
			System.out.println(A[i]);
		}
	}
}

Leave a comment