๐ก ์ด๋ฒ์๋ ์ฝ์ ์ ๋ ฌ ํ๋ ๋ฒ์ ๋ฐฐ์๋ณด์๋ค.
๋ฌธ์
๐ก ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ์ด ์ค๋ฆ์ฐจ์์ผ๋ก ์ฝ์ ์ ๋ ฌ๋๊ฒ ์ฝ๋๋ฅผ ๊ตฌํํ์์ค
๋น์ฐํ ์๋ ๋ฌธ์ ๊ธฐ์ ๋์ถฉ ๋ด๊ฐ ๋ง๋ค์๋ค.
ํด๋ต
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define SIZE 1000
int a [SIZE];
int swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main(void) {
int n;
scanf("%d", &n);
for (int i = 0 ; i < n ; i++) {
scanf("%d", &a[i]);
}
for (int i = 0 ; i < n - 1 ; i++) {
int j = i;
while (j >=0 && a[j] > a[j + 1]) {
swap(&a[j], &a[j + 1]);
j--;
}
}
for (int i = 0 ; i < n ; i++) {
printf("%d ", a[i]);
}
return 0;
}
์ค๋ช
์ฝ์ ์ ๋ ฌ์ด๋ ๊ฐ ์ซ์๋ฅผ ์ ์ ํ ์์น์ ์ฝ์ ํ๋ ์ ๋ ฌ ๊ธฐ๋ฒ์ด๋ค.
๋ค์ด๊ฐ ์์น๋ฅผ ์ ํํ๋ ๋ฐ์ N๋ฒ, ์ ํํ๋ ํ์๋ก N๋ฒ์ด๋ฏ๋ก $O(N์ ๊ณฑ)$์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค.
์ ํ์ ๋ ฌ๊ณผ ํก์ฌํ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๊ณ ์๋ค๊ณ ๋ณผ ์ ์์ง๋ง ์ฝ์ ์ ๋ ฌ์ ์ผ๋ฐ์ ์ผ๋ก ์ ํ์ ๋ ฌ๋ณด๋ค ์กฐ๊ธ ๋ ๋น ๋ฅด๋ค.
[C์ธ์ด ์ ํ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ] ์ ํ์ ๋ ฌ ๊ตฌํํ๊ธฐ ์ ๋น๊ตํด์ ๋ณผ ์ ์๋ค.
main ํจ์
int main(void) {
int n;
scanf("%d", &n);
for (int i = 0 ; i < n ; i++) {
scanf("%d", &a[i]);
}
for (int i = 0 ; i < n - 1 ; i++) {
int j = i; // ์ด๋์ ๋ค์ด๊ฐ์ง ์ ํ๋ ๋์์์
// ํ์ฌ ์ผ์ชฝ์ ์๋ ๊ฐ์ด ์ค๋ฅธ์ชฝ์ ์๋ ์์๋ณด๋ค ํฌ๋ค๋ฉด ์์น๋ฅผ ์๋ก ๋ฐ๊พธ๋๋ก ํด์ค
while (j >=0 && a[j] > a[j + 1]) {
swap(&a[j], &a[j + 1]);
j--;
}
}
for (int i = 0 ; i < n ; i++) {
printf("%d ", a[i]);
}
return 0;
}
์ฌ๊ธฐ์๋ n ์ ์ ์ฒด๊ฐ ๋ฌด์์ธ์ง ์ ํ ๋ชจ๋ฅด๊ฒ ๋ค.
printf ๋ก ์ฐ์ด๋ด๋ ๋ชจ๋ฅด๊ฒ ๋ค ๋ฐํท-! _ใ(๏พโฝ๏พ*)
๋ง์น๋ฉฐ..
์๋ฃ๊ตฌ์กฐ๊ฐ ๋ญ ์ด๋ ๊ฒ ๋ง์์ง..
์ปดํจํฐ์ผ ์์์ ํด์ฃผ๋ฉด ์๋๊ฒ ๋..?
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C์ธ์ด ํฌ์ธํฐ ๊ธฐ๋ฐ ํ ์๊ณ ๋ฆฌ์ฆ] ํ ์ฝ์ ๋ฐ ์ญ์ ํ๊ธฐ (0) | 2023.01.05 |
---|---|
[C์ธ์ด ์ ํ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ] ์ ํ์ ๋ ฌ ๊ตฌํํ๊ธฐ (0) | 2023.01.05 |
[C์ธ์ด ํต ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ] ํต ์ ๋ ฌ ๊ตฌํํ๊ธฐ (0) | 2023.01.05 |
[C์ธ์ด ๊ณ์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ] ๊ณ์ ์ ๋ ฌ ๊ตฌํํ๊ธฐ (0) | 2023.01.05 |
[C์ธ์ด ๊ธฐ์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ] ๊ธฐ์ ์ ๋ ฌ ๊ตฌํํ๊ธฐ (0) | 2023.01.05 |