๐Ÿ›ด

์„ ํƒ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜(selection sort)

์„ ํƒ ์ •๋ ฌ(Selection sort)

ํ•™์ƒ๋•Œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‹œ๊ฐ„์— ๊ณต๋ถ€ํ–ˆ๋˜ ๋‚ด์šฉ์ด์ง€๋งŒ, ์ตœ๊ทผ์— ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ๊ณต๋ถ€, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด์„œ ๊ฒธ์‚ฌ ๊ฒธ์‚ฌ ๋˜์งš์–ด ๋ณด์•˜๋‹ค.

์ด๋ก 

์ฃผ์–ด์ง„ ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉด์„œ ์„ ํƒ๋œ ํ•ญ๋ชฉ๊ณผ ๊ทธ ๋‹ค์Œ ํ•ญ๋ชฉ๋“ค ์ค‘์— ์ตœ์†Œ ๊ฐ’์„ ์ฐพ์•„์„œ ์„œ๋กœ ๊ตํ™˜ํ•ด์ค€๋‹ค. ์•„๋ž˜์˜ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด์„œ ์ดํ•ดํ•˜๋ฉด ๋Š๋‚Œ์ด ์˜ฌ ๊ฒƒ์ด๋‹ค. ๋…ธ๋ž€์ƒ‰์€ ์„ ํƒ๋œ ํ•ญ๋ชฉ, ์ฃผํ™ฉ์ƒ‰์€ ์ตœ์†Œ ๊ฐ’์ด๋‹ค.

png

์†Œ์Šค์ฝ”๋“œ

์—ญ์‹œ ๊ฐœ๋ฐœ์ž๋Š” ์†Œ์Šค์ฝ”๋“œ๋กœ ํ™•์ธํ•˜๋Š” ํŽธ์ด ์ดํ•ด๊ฐ€ ๋น ๋ฅด๋‹ค.

ํ•œ ๋ผ์ธ์— ๋ฐฐ์—ด์„ โ€œ3 5 1 2 4โ€ ํ˜•์‹์œผ๋กœ ๊ณต๋ฐฑ๊ตฌ๋ถ„์œผ๋กœ ๋ฐ›์€ ํ›„ ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉด์„œ ์ตœ์†Œ ๊ฐ’์˜ index๋ฅผ ๊ตฌํ•˜๊ณ  ์„ ํƒ๋œ ํ•ญ๋ชฉ๊ณผ ๊ตํ™˜ํ•˜๋Š” ๋‚ด์šฉ์ด๋‹ค.

arr = list(map(int, input().split()))

for i in range(len(arr)):
    min_idx = i
    for j in range(i + 1, len(arr)):
        if arr[min_idx] > arr[j]:
            min_idx = j

    arr[i], arr[min_idx] = arr[min_idx], arr[i]

print(' '.join(map(str,arr)))
yoon.homme
yoon.homme

๊ธฐ์ˆ ๊ณผ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์˜ ํž˜์ด ์„ธ์ƒ์„ ๋ฐ”๊พผ๋‹ค๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค.

ํŽธ๋ฆฌํ•œ ์„ธ์ƒ์œผ๋กœ ๋‚˜์•„๊ฐ€๊ธฐ ์œ„ํ•ด ๊ณ ๋ฏผํ•˜๊ณ  ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค.