๐ป
[๋ฐฑ์ค] ์ ๋ ฌ - 2947. ๋๋ฌด ์กฐ๊ฐ ๋ณธ๋ฌธ
[๋ฐฑ์ค] ์ ๋ ฌ - 2947. ๋๋ฌด ์กฐ๊ฐ
๋ํจ๋ 2020. 2. 24. 14:52๋ฌธ์
๋ํ์ด๋ ๋๋ฌด ์กฐ๊ฐ์ 5๊ฐ ๊ฐ์ง๊ณ ์๋ค. ๋๋ฌด ์กฐ๊ฐ์๋ 1๋ถํฐ 5๊น์ง ์ซ์ ์ค ํ๋๊ฐ ์ฐ์ฌ์ ธ ์๋ค. ๋, ๋ชจ๋ ์ซ์๋ ๋ค์ฏ ์กฐ๊ฐ ์ค ํ๋์๋ง ์ฐ์ฌ ์๋ค.
๋ํ์ด๋ ๋๋ฌด ์กฐ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์ณ์ 1, 2, 3, 4, 5 ์์๋ก ๋ง๋ค๋ ค๊ณ ํ๋ค.
- ์ฒซ ๋ฒ์งธ ์กฐ๊ฐ์ ์๊ฐ ๋ ๋ฒ์งธ ์๋ณด๋ค ํฌ๋ค๋ฉด, ๋์ ์์น๋ฅผ ์๋ก ๋ฐ๊พผ๋ค.
- ๋ ๋ฒ์งธ ์กฐ๊ฐ์ ์๊ฐ ์ธ ๋ฒ์งธ ์๋ณด๋ค ํฌ๋ค๋ฉด, ๋์ ์์น๋ฅผ ์๋ก ๋ฐ๊พผ๋ค.
- ์ธ ๋ฒ์งธ ์กฐ๊ฐ์ ์๊ฐ ๋ค ๋ฒ์งธ ์๋ณด๋ค ํฌ๋ค๋ฉด, ๋์ ์์น๋ฅผ ์๋ก ๋ฐ๊พผ๋ค.
- ๋ค ๋ฒ์งธ ์กฐ๊ฐ์ ์๊ฐ ๋ค์ฏ ๋ฒ์งธ ์๋ณด๋ค ํฌ๋ค๋ฉด, ๋์ ์์น๋ฅผ ์๋ก ๋ฐ๊พผ๋ค.
- ๋ง์ฝ ์์๊ฐ 1, 2, 3, 4, 5 ์์๊ฐ ์๋๋ผ๋ฉด 1 ๋จ๊ณ๋ก ๋ค์ ๊ฐ๋ค.
์ฒ์ ์กฐ๊ฐ์ ์์๊ฐ ์ฃผ์ด์ก์ ๋, ์์น๋ฅผ ๋ฐ๊ฟ ๋ ๋ง๋ค ์กฐ๊ฐ์ ์์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์กฐ๊ฐ์ ์ฐ์ฌ ์๋ ์๊ฐ ์์๋๋ก ์ฃผ์ด์ง๋ค. ์ซ์๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 5๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ผ๋ฉฐ, ์ค๋ณต๋์ง ์๋๋ค. ์ฒ์ ์์๋ 1, 2, 3, 4, 5๊ฐ ์๋๋ค.
์ถ๋ ฅ
๋ ์กฐ๊ฐ์ ์์๊ฐ ๋ฐ๋๋ ๋ง๋ค ์กฐ๊ฐ์ ์์๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ1
2 1 5 3 4
์์ ์ถ๋ ฅ1
1 2 5 3 4
1 2 3 5 4
1 2 3 4 5
์๊ฐ
5. ๋ง์ฝ ์์๊ฐ 1,2,3,4,5 ์์๊ฐ ์๋๋ผ๋ฉด ๋ค์ 1๋จ๊ณ๋ก ๋์๊ฐ๋ค๋ ์กฐ๊ฑด๋๋ฌธ์ checkํจ์๋ฅผ ๋์ด ์ ๋ ฌ์ด ์์ฑ๋์ง ์์์ผ๋ฉด ๊ณ์ํ๊ฒ๋ ์ฝ๋๋ฅผ ์์ฑํ์๋ค.
(i, j) 0, 1/ 1, 2/ 2, 3 / 3, 4/ 4, 5/
์ ์ถํ๊ณ ๋์ ๋ค๋ฅธ ํ์ด๋ฅผ ๋ณด๋๊น ๊ตณ์ด checkํจ์๋ฅผ ๋์ด์ while๋ฌธ์ ๋์ง ์์๋ ๋๋ ๊ฑฐ์๋ค!
for(int i=0; i<5; i++){
for(int j=0; j<4-i; j++){
if(arr[j] > arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
printf("%d %d %d %d %d\n", arr[0], arr[1], arr[2], arr[3], arr[4]);
}
}
}
โป ๋ฒ๋ธ์ ๋ ฌ(Bubble Sort)
: ๋ ์ธ์ ํ ์์๋ฅผ ๊ฒ์ฌํ์ฌ ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ. ์๊ฐ ๋ณต์ก๋๋ O(N^2)์ด๋ค.
์์ฑํ ์ฝ๋
#include <iostream>
using namespace std;
int arr[5];
int check(){
for(int i=0; i<5; i++){
if(arr[i] != i+1){
return -1;
}
}
return 0;
}
int main(int argc, const char * argv[]) {
// insert code here...
ios_base::sync_with_stdio(false);
cin.tie(0);
int temp;
for(int i=0; i<5; i++){
cin >> arr[i];
}
while(check()==-1){
for(int i=0; i<4; i++){
for(int j=i+1; j<i+2; j++){
if(arr[i] > arr[j]){
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
for(int i=0; i<5; i++){
cout << arr[i] << " ";
}
cout << "\n";
}
else{
continue;
}
}
}
}
return 0;
}
'์๊ณ ๋ฆฌ์ฆ > ๋ฌธ์ ํ์ด Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] DFS์ BFS - 2468. ์์ ์์ญ(DFS ํ์ด + BFS ํ์ด) (0) | 2020.02.26 |
---|---|
[๋ฐฑ์ค] ๋์ ๊ณํ๋ฒ - 2579. ๊ณ๋จ ์ค๋ฅด๊ธฐ (0) | 2020.02.25 |
[๋ฐฑ์ค] ๋ฐฑํธ๋ํน - 13265. ์์น ํ๊ธฐ(๋ฌธ์ ํธ๋ ์ค) (0) | 2020.02.24 |
[๋ฐฑ์ค] ๋ฐฑํธ๋ํน - 1182. ๋ถ๋ถ์์ด์ ํฉ (0) | 2020.02.21 |
[๋ฐฑ์ค] ๋์ ๊ณํ๋ฒ - 1753. ์ต๋จ๊ฒฝ๋ก(๋ฌธ์ ํธ๋์ค) (0) | 2020.02.20 |