์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ณธ 2

4. Array Extra ๋ฐฐ์—ด

์™„์ „ ๊ฒ€์ƒ‰ (Exaustive Search) ์™„์ „ ๊ฒ€์ƒ‰ ๋ฐฉ๋ฒ•์€ ๋ฌธ์ œ์˜ ํ•ด๋ฒ•์œผ๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋‚˜์—ดํ•ด๋ณด๊ณ  ํ™•์ธํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. Brute-force ํ˜น์€ generate-and-test ๊ธฐ๋ฒ•์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ ์šด๋‹ค. ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํ…Œ์ŠคํŠธ ํ•œ ํ›„, ์ตœ์ข… ํ•ด๋ฒ•์„ ๋„์ถœํ•œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ์ž‘์„ ๋•Œ ์œ ์šฉํ•˜๋‹ค. ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜ํ–‰ ์†๋„๋Š” ๋Š๋ฆฌ์ง€๋งŒ, ํ•ด๋‹ต์„ ์ฐพ์•„๋‚ด์ง€ ๋ชปํ•  ํ™•๋ฅ ์ด ์ž‘๋‹ค. ์ž๊ฒฉ๊ฒ€์ •ํ‰๊ฐ€ ๋“ฑ์—์„œ ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ, ์šฐ์„  ์™„์ „ ๊ฒ€์ƒ‰์œผ๋กœ ์ ‘๊ทผํ•˜์—ฌ ํ•ด๋‹ต์„ ๋„์ถœํ•œ ํ›„, ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ์œ„ํ•ด ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๊ณ  ํ•ด๋‹ต์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค. ํƒ์š• ์•Œ๊ณ ๋ฆฌ์ฆ˜ (Greedy) ํƒ์š• ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ตœ์  ํ•ด๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ทผ์‹œ์•ˆ์ ์ธ ๋ฐฉ๋ฒ• ์—ฌ๋Ÿฌ ๊ฒฝ..

3. Sort ์ •๋ ฌ

์ •๋ ฌ ์ •๋ ฌ 2๊ฐœ ์ด์ƒ์˜ ์ž๋ฃŒ๋ฅผ ํŠน์ • ๊ธฐ์ค€์— ์˜ํ•ด ์ž‘์€ ๊ฐ’๋ถ€ํ„ฐ ํฐ ๊ฐ’(์˜ค๋ฆ„์ฐจ์ˆœ : ascending), ํ˜น์€ ๊ทธ ๋ฐ˜๋Œ€์˜ ์ˆœ์„œ๋Œ€๋กœ(๋‚ด๋ฆผ์ฐจ์ˆœ : dexending) ์žฌ๋ฐฐ์—ด ํ•˜๋Š” ๊ฒƒ ํ‚ค : ์ž๋ฃŒ๋ฅผ ์ •๋ ฌํ•˜๋Š” ๊ธฐ์ค€์ด ๋˜๋Š” ํŠน์ • ๊ฐ’ ์ •๋ ฌ์˜ ์ข…๋ฅ˜ ๋ฒ„๋ธ” ์ •๋ ฌ ์นด์šดํŒ… ์ •๋ ฌ ์„ ํƒ ์ •๋ ฌ ํ€ต ์ •๋ ฌ ์‚ฝ์ž… ์ •๋ ฌ ๋ณ‘ํ•ฉ ์ •๋ ฌ ๋ฒ„๋ธ” ์ •๋ ฌ(Bubble Sort) ์ธ์ ‘ํ•œ ๋‘ ๊ฐœ์˜ ์›์†Œ๋ฅผ ๋น„๊ตํ•˜๋ฉฐ ์ž๋ฆฌ๋ฅผ ๊ณ„์† ๊ตํ™˜ํ•˜๋Š” ๋ฐฉ์‹ ์ •๋ ฌ๊ณผ์ • ์ฒซ๋ฒˆ์งธ ์›์†Œ๋ถ€ํ„ฐ ์ธ์ ‘ํ•œ ์›์†Œ๋ผ๋ฆฌ ๊ณ„์† ์ž๋ฆฌ๋ฅผ ๊ตํ™˜ํ•˜๋ฉด์„œ ๋งจ ๋งˆ์ง€๋ง‰ ์ž๋ฆฌ๊นŒ์ง€ ์ด๋™ํ•œ๋‹ค. ํ•œ ๋‹จ๊ณ„๊ฐ€ ๋๋‚˜๋ฉด ๊ฐ€์žฅ ํฐ ์›์†Œ๊ฐ€ ๋งˆ์ง€๋ง‰ ์ž๋ฆฌ๋กœ ์ •๋ ฌ๋œ๋‹ค. ๊ตํ™˜ํ•˜๋ฉฐ ์ž๋ฆฌ๋ฅผ ์ด๋™ํ•˜๋Š” ๋ชจ์Šต์ด ๋ฌผ ์œ„์— ์˜ฌ๋ผ์˜ค๋Š” ๊ฑฐํ’ˆ ๋ชจ์–‘๊ณผ ๊ฐ™๋‹ค๊ณ  ํ•˜์—ฌ ๋ฒ„๋ธ” ์ •๋ ฌ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์‹œ๊ฐ„๋ณต์žก๋„ O(n²) ๋ฐฐ์—ด์„ ํ™œ์šฉํ•œ ๋ฒ„๋ธ” ์ •๋ ฌ def BubbleSor..