[ Code Kata ] ๐คฏ python #21 ์ ํ์ ๋ ฌ(Selection Sort)
Selection Sort(์ ํ์ ๋ ฌ)
์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ
๐๐ป ์์๊ฐ ์๋ ๋ฐ์ดํฐ๋ฅผ ์์๋๋ก ๋ฐ๊พธ์ด ๋์ดํ๋ ์๊ณ ๋ฆฌ์ฆ
์ ๋ ฌ์ ํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋๋ฐ, ๊ทธ ์ค์ ์ ๋ช
ํ ์๊ณ ๋ฆฌ์ฆ์ ์๋์ ๊ฐ๋ค.
- ์ ํ์ ๋ ฌ
- ๋ฒ๋ธ์ ๋ ฌ
- ์ฝ์
์ ๋ ฌ
- ํต์ ๋ ฌ
์ ํ์ ๋ ฌ ?
์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ
๐๐ป ์์๊ฐ ์๋ ๋ฐ์ดํฐ๋ฅผ ์์๋๋ก ๋ฐ๊พธ์ด ๋์ดํ๋ ์๊ณ ๋ฆฌ์ฆ
์ ๋ ฌ์ ํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋๋ฐ, ๊ทธ ์ค์ ์ ๋ช
ํ ์๊ณ ๋ฆฌ์ฆ์ ์๋์ ๊ฐ๋ค.
- ์ ํ์ ๋ ฌ
- ๋ฒ๋ธ์ ๋ ฌ
- ์ฝ์ ์ ๋ ฌ
- ํต์ ๋ ฌ
๐๐ป ์ ๋ ฌ๋์ง ์์ ๋ฐ์ดํฐ ์ค, ๊ฐ์ฅ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ํํ์ฌ ๋งจ ์์์๋ถํฐ ์์๋๋ก ์ ๋ ฌํด ๋๊ฐ๋ ์๊ณ ๋ฆฌ์ฆ
It has O(n2) time complexity, making it inefficient on large lists, and generally performs worse than the similar insertion sort. Selection sort is noted for its simplicity, and it has performance advantages over more complicated algorithms in certain situations, particularly where auxiliary memory is limited.
์์ ๋ฅผ ๋ณด์๋ฉด,
์ ๋ ฌ์ ํด์ผํ๋ ๋ฐฐ์ด
๐๐ป[7,5,4,2]
- ์ฒซ ๋ฒ์งธ loop์์๋ index 0๋ถํฐ 3๊น์ง ํ์ธํ๋ฉฐ ๊ฐ์ฅ ์์ ์๋ฅผ ์ฐพ์ต๋๋ค.
2์ด๋ฏ๋ก index 0์ 7๊ณผ ๊ต์ฒดํฉ๋๋ค. -> [2,5,4,7]- ๋ ๋ฒ์งธ๋ index 1๋ถํฐ 3๊น์ง ํ์ธํ๋ฉฐ ๊ฐ์ฅ ์์ ์๋ฅผ ์ฐพ์ต๋๋ค.
4์ด๋ฏ๋ก index 1์ 5์ ๊ต์ฒดํฉ๋๋ค -> [2,4,5,7]- ์ธ ๋ฒ์งธ๋ index 2๋ถํฐ 3๊น์ง.. ์ด๋ฐ์์ผ๋ก ๊ฐ์ฅ ์์ ์๋ฅผ ์ ํํด์ ์์๋๋ก ๊ต์ฒดํ๋ ๊ฒ์ ์ ํ์ ๋ ฌ์ด๋ผ๊ณ ํฉ๋๋ค.
๋ฌธ์
nums๋ผ๋ ์ ๋ ฌ๋์ง ์์ ์ซ์ ๋ฐฐ์ด์ ์ฃผ๋ฉด, ์ค๋ฆ์ฐจ์(1,2,3..10) ์ผ๋ก ์ ๋ ฌ๋ ๋ฐฐ์ด์ returnํ๊ธฐ
model solution
def selectionSort(nums):
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ([ Code Kata ] ๐คฏ python #21 ์ ํ์ ๋ ฌ(Selection Sort)), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค
https://velog.io/@haileeyu21/Code-Kata-python-21-์ ํ์ ๋ ฌSelection-Sort
์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์
๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
def selectionSort(nums):
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ([ Code Kata ] ๐คฏ python #21 ์ ํ์ ๋ ฌ(Selection Sort)), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@haileeyu21/Code-Kata-python-21-์ ํ์ ๋ ฌSelection-Sort์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค