반응형
https://www.acmicpc.net/problem/2752
문제
풀이
12번 줄에 k는 0부터 3-1인 2까지 반복합니다. 여기서 -1을 하는 이유는 9와 7을 비교 7과 5를 비교
즉, 현재값과 다음값과 비교하게 되는데 마지막 1은 배열의 범위를 벗어난 값과 비교하게 되고 이상한 값이 나오기 때문이다. 그래서 배열의 범위를 벗어나지 않도록 마지막 값 바로 앞에서 반복을 끝내야 한다.
13-15줄
이 과정을 반복해 주면
1 2 3 4 5 7 8 9 가 나올것이다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include <stdio.h>
int main() {
int a[100000];
int tmp;
for (int i = 0; i < 3; i++) {
scanf("%d", &a[i]);
}
for (int j = 0; j < 3; j++) {
for (int k = 0; k < 3-1; k++) {
if (a[k] > a[k + 1]) { //a[k] < a[k+1] = 내림차순
tmp = a[k];
a[k] = a[k + 1];
a[k + 1] = tmp;
}
}
}
for (int i = 0; i < 3; i++) {
printf("%d ", a[i]);
}
}
|
cs |
반응형
'백준 > C' 카테고리의 다른 글
[BaeKJoon/C] 백준2693 c N번째 큰 수 (1) | 2021.05.30 |
---|---|
[BaeKJoon/C] 백준11006 c 남욱이의 닭장 (1) | 2021.05.23 |
[BaeKJoon/C] 백준16435 c 스네이크버드 (4) | 2021.05.23 |
[BaeKJoon/C] 백준10172 c 개 (1) | 2021.05.22 |
[BaeKJoon/C] 백준19602 c Dog Treats (0) | 2021.05.22 |