์ ๋ ฌ
โ ๋ฐ์ดํฐ๋ฅผ ํน์ ํ ๊ธฐ์ค์ ๋ฐ๋ผ ์์๋๋ก ๋์ดํ๋ ๊ฒ
์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐฐ์ฐ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํ ํ, ๋ค์์ ๋ฐฐ์ธ ์ด์ง ํ์์ด ๊ฐ๋ฅ!
(์ฆ, ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ง ํ์์ ์ ์ฒ๋ฆฌ ๊ณผ์ )
์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ข ๋ฅ : ์ ํ / ์ฝ์ / ํต / ๊ณ์ ๋ฑ

์ด ์นด๋๋ค์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํด๋ณด์.
์ ํ ์ ๋ ฌ
โ ๊ฐ์ฅ ์์ ์๋ฅผ ์ ํํด ๋งจ ์์ ์๋ ๋ฐ์ดํฐ์ ๋ฐ๊พธ๊ณ , ๊ทธ ๋ค์ ์์ ์๋ฅผ ์ ํํด ๋๋ฒ์งธ ๋ฐ์ดํฐ์ ๋ฐ๊พธ๊ณ ...
"๋งค๋ฒ ๊ฐ์ฅ ์์ ๊ฒ์ ์ ํํ์ฌ n๋ฒ์งธ ์์ ๋ฐ๊พผ๋ค."

๊ฐ์ฅ ์์ ์์ธ 0์ ๋งจ ์์ ์๋ 7๊ณผ ์๋ฆฌ๋ฅผ ๊ต์ฒดํ๋ค.

๊ทธ ๋ค์ ์์ ์์ธ 1์ ๋ ๋ฒ์งธ ์ 5์ ์๋ฆฌ๋ฅผ ๊ต์ฒดํ๋ค.

๊ทธ ๋ค์๋ค์ ์์ ์์ธ 2๋ฅผ ์ธ ๋ฒ์งธ ์ 9์ ์๋ฆฌ๋ฅผ ๊ต์ฒดํ๋ค...
์ด์ ๊ฐ์ ๋ฐฉ๋ฒ์ ๋ฐ๋ณตํ๋ฉด,

์ ๊ทธ๋ฆผ์ฒ๋ผ ๋ง์ง๋ง ํ ์๋ฅผ ๋ง์ง๋ง - 1์์น์ ์์ ๋ฐ๊พธ๋ฉด ๋์ด๋๋ค.

์ ํ ์ ๋ ฌ ์์ค ์ฝ๋
#include <iostream>
#include <vector>
using namespace std;
vector<int> arr = { 7, 5, 9, 0, 3, 1, 6, 2, 4, 8 };
int main(void) {
for (int i = 0; i < arr.size(); i++) {
// ๋งจ ์ ์ซ์๋ฅผ ์์ ์ ์ฅํ ๋ณ์
int tmp = arr[i];
// ์ ๋ ฌ๋์ง ์์ ์ ์ค ๊ฐ์ฅ ์ต์๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ์ ์ฅํ ๋ณ์
int min_idx = i;
// ์ต์๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ๊ตฌํ๋ ๋ฐ๋ณต๋ฌธ
for (int j = i + 1; j < arr.size(); j++)
min_idx = arr[min_idx] > arr[j] ? j : min_idx;
// ์ค์ํ
arr[i] = arr[min_idx];
arr[min_idx] = tmp;
// ๋จ๊ณ๋ณ๋ก ์ ๋ ฌ๋๋ ๋ฐฐ์ด ์ถ๋ ฅ
for (int k = 0; k < arr.size(); k++)
cout << arr[k] << " ";
cout << endl;
}
return 0;
}
์ถ์ฒ : ์ด๊ฒ์ด ์ทจ์ ์ ์ํ ์ฝ๋ฉํ ์คํธ๋ค with ํ์ด์ฌ : ์ทจ์ ๊ณผ ์ด์ง์ ๊ฒฐ์ ํ๋ ์๊ณ ๋ฆฌ์ฆ ์ธํฐ๋ทฐ ์๋ฒฝ ๊ฐ์ด๋

'๐ Algorithm > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ ๋ ฌ - ์ฝ์ ์ ๋ ฌ (0) | 2021.01.03 |
---|---|
๊ตฌํ - ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ๊ณ ๋น ๋ฅด๊ฒ ํ๋ก๊ทธ๋จ์ผ๋ก ์์ฑํ๊ธฐ (0) | 2020.11.14 |
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ - ํ์ฌ ์ํฉ์์ ๊ฐ์ฅ ์ข์๋ณด์ด๋ ๊ฒ์ ์ ํ (0) | 2020.11.14 |