백준 JAVA11 2750번 : 수 정렬하기
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