문제
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
입력
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
출력
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
예제 입력 1
5
5
2
3
4
1
예제 출력 1
1
2
3
4
5
Code
#include <stdio.h>
int main() {
int N;
int arr[1000] = { 0 };
int tmp;
// 수 입력받기
scanf("%d", &N);
//N번 반복하여 배열 항목 입력받기
for (int i = 0; i < N; i++) {
scanf("%d", &arr[i]);
}
// 이중포문으로 스왑하기 index[0]과 index[1~N] -> for문에서 0이 먼저가 아니라 1이 먼저어야 하는 듯?
for (int i = 1; i < N; i++) {
for (int j = 0; j < N; j++) {
// arr[1~N-1]이 arr[0~N-1]보다 작다면 스왑하기
if (arr[j] > arr[i]) {
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
for (int i = 0; i < N; i++) {
printf("%d\n", arr[i]);
}
return 0;
}
'C > BaekJoon' 카테고리의 다른 글
[C] 백준 2920 - 음계 | BaekJoon (0) | 2023.07.28 |
---|---|
[C] 백준 8958 - OX퀴즈 | BaekJoon (0) | 2023.07.28 |
[C] 백준 2750 - 수 정렬하기 (선택 정렬) | BackJoon (0) | 2023.07.22 |
[C] 백준 2750 - 수 정렬하기 (삽입 정렬) | BackJoon (0) | 2023.07.21 |
[C] 백준 2750 - 수 정렬하기 (버블 정렬) | BackJoon (0) | 2023.07.11 |