๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

sort4

[Algorithm] ํ€ต ์ •๋ ฌ(Quick Sort)๋ž€? (feat. Swift) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ’ป ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ๋“œ๋””์–ด ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ๋ง ๊ทธ๋Œ€๋กœ ๋งค์šฐ ๋น ๋ฅธ ์ˆ˜ํ–‰์‹œ๊ฐ„์„ ๊ฐ€์ง„ ํ€ต ์ •๋ ฌ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ ํ€ต ์ •๋ ฌ(Quick Sort)์ด๋ž€? ๐Ÿง ํ€ต ์ •๋ ฌ(Quicksort)์€ ์ฐฐ์Šค ์•คํ„ฐ๋‹ˆ ๋ฆฌ์ฒ˜๋“œ ํ˜ธ์–ด๊ฐ€ ๊ฐœ๋ฐœํ•œ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋‹ค๋ฅธ ์›์†Œ์™€์˜ ๋น„๊ต๋งŒ์œผ๋กœ ์ •๋ ฌ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋น„๊ต ์ •๋ ฌ์— ์†ํ•œ๋‹ค. - ์œ„ํ‚ค ๋ฐฑ๊ณผ - (์ฐธ๊ณ ๋กœ ๋ฆฌ์ฒ˜๋“œ ํ˜ธ์–ด๊ฐ€ ํ€ต ์ •๋ ฌ์„ ๊ฐœ๋ฐœํ–ˆ์„ ๋‹น์‹œ ๋‚˜์ด๋Š” 26์‚ด์ด๋ผ๊ณ  ํ•˜๋„ค์š”...) ํ•ฉ๋ณ‘ ์ •๋ ฌ๊ณผ ๊ฐ™์ด ๋ถ„ํ•  ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์†ํ•˜๊ณ  ํ‰๊ท ์ ์œผ๋กœ ๋งค์šฐ ๋น ๋ฅธ ์ˆ˜ํ–‰์†๋„๋ฅผ ์ž๋ž‘ํ•ฉ๋‹ˆ๋‹ค. ํ€ต ์ •๋ ฌ ๊ณผ์ • ๐Ÿ”จ ํ€ต ์ •๋ ฌ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„  ํ”ผ๋ด‡(Pivot)์ด ํ•ต์‹ฌ์ด ๋˜๋Š”๋ฐ์š”. ์—ฌ๊ธฐ์„œ ํ”ผ๋ด‡์€ ์–ด๋–ค ๊ฒƒ์ผ๊นŒ์š”? ํ”ผ๋ด‡์€ ๋ฐ”๋กœ ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค. ํ”ผ๋ด‡์„ ๊ฐ€์žฅ ์ฒซ ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ฅผ ์„ ํƒํ•  ์ˆ˜๋„ .. 2021. 10. 25.
[Algorithm] ํž™ ์ •๋ ฌ(HeapSort)์ด๋ž€? (feat.Swift) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ’ป ์ž…๋‹ˆ๋‹ค! ์ €๋ฒˆ ์‹œ๊ฐ„์— ํž™์ด๋ž€ ์ž๋ฃŒ๊ตฌ์กฐ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜๋Š”๋ฐ์š”. (ํ˜น์‹œ๋ผ๋„ ์•ˆ๋ณด์‹  ๋ถ„์€ ์—ฌ๊ธฐ ์—์„œ ๋ณด๊ณ  ์™€์ฃผ์„ธ์š”!) ์˜ค๋Š˜์€ ํž™์„ ์ด์šฉํ•ด์„œ ์ •๋ ฌ์„ ํ•˜๋Š” ํž™์†ŒํŠธ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ ํž™ ์ •๋ ฌ((HeapSort)์ด๋ž€? ๐Ÿง ํž™ ์ •๋ ฌ(Heap sort)์ด๋ž€ ์ตœ๋Œ€ ํž™ ํŠธ๋ฆฌ๋‚˜ ์ตœ์†Œ ํž™ ํŠธ๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•ด ์ •๋ ฌ์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ์„œ, ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ์„ ์œ„ํ•ด์„œ๋Š” ์ตœ๋Œ€ ํž™์„ ๊ตฌ์„ฑํ•˜๊ณ  ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์„ ์œ„ํ•ด์„œ๋Š” ์ตœ์†Œ ํž™์„ ๊ตฌ์„ฑํ•˜๋ฉด ๋œ๋‹ค. - ์œ„ํ‚ค ๋ฐฑ๊ณผ - ์ฆ‰, ํž™์„ ์ด์šฉํ•ด์„œ ์ •๋ ฌ์„ ํ•˜๋Š” ๋ฐฉ์‹์ด์—์š”. ํž™ ์ •๋ ฌ ๊ณผ์ • ๐Ÿ”จ ํž™ ์ •๋ ฌ ๊ณผ์ •์€ ํž™์—์„œ ์‚ญ์ œ๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ์™€ ๋˜‘๊ฐ™์•„์š”. ์‚ญ์ œ๊ณผ์ •์ด ์•„๋ž˜์™€ ๊ฐ™์€๋ฐ์š”. ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ๋ฐฐ์—ด์— ์ฐจ๋ก€๋กœ ์Œ“๊ฒŒ๋˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ์ตœ๋Œ€ํž™์ด๋ผ๋ฉด ๊ฐ€์žฅ ํฐ ์ˆซ์ž๊ฐ€ ์ฐจ๋ก€.. 2021. 10. 19.
[Algorithm] ์‚ฝ์ž… ์ •๋ ฌ(Insertion Sort) ์ด๋ž€? (feat.Swift) ์•ˆ๋…•ํ•˜์„ธ์š” Foma๐Ÿ’ป ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ํ•™๊ต ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜์—…์„ ๋“ฃ๋Š” ์ค‘์— ์‚ฝ์ž… ์ •๋ ฌ์„ ๊ตฌํ˜„ํ•ด๋ณด๋Š” ๊ณผ์ œ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ... ๋”ฑ ์ด ๋ฐฉ์‹์ด ์–ด๋–ค ๊ฒƒ์ด๊ณ  ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค! ๋ผ๊ณ  ๊ตฌ์ฒด์ ์œผ๋กœ ๋– ์˜ค๋ฅด์ง€๊ฐ€ ์•Š๋”๋ผ๊ตฌ์š”... ๊ทธ๋ž˜์„œ ์‚ฝ์ž… ์ •๋ ฌ์ด ๋ฌด์—‡์ด๊ณ  ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ ์‚ฝ์ž… ์ •๋ ฌ์ด๋ž€? ์‚ฝ์ž… ์ •๋ ฌ์€ ์ž๋ฃŒ ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์•ž์—์„œ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ์ด๋ฏธ ์ •๋ ฌ๋œ ๋ฐฐ์—ด ๋ถ€๋ถ„๊ณผ ๋น„๊ตํ•˜์—ฌ, ์ž์‹ ์˜ ์œ„์น˜๋ฅผ ์ฐพ์•„ ์‚ฝ์ž…ํ•จ์œผ๋กœ์จ ์ •๋ ฌ์„ ์™„์„ฑํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. -์œ„ํ‚ค ๋ฐฑ๊ณผ - ์ •๋ ฌํ•˜๋Š” ๊ณผ์ •์„ ์‚ดํŽด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์‚ฝ์ž… ์ •๋ ฌ ๊ณผ์ • 82,10,9,72,31,45,60๋ฅผ ์‚ฝ์ž… ์ •๋ ฌ์„ ํ•˜๋Š” ๊ณผ์ •์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. 1. ๋จผ์ € ๋งจ ์ฒซ ๋ฒˆ์งธ์ธ 82์™€ ๊ทธ ๋‹ค์Œ ์ˆซ์ž์ธ 10์„ ๋น„๊ตํ•ด์ค๋‹ˆ๋‹ค. 10์ด ๋”.. 2021. 9. 28.
Swift ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค K๋ฒˆ์งธ ์ˆ˜ Youtube ํ’€์ด์˜์ƒ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - K๋ฒˆ์งธ์ˆ˜ [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr Source Code func solution(_ array:[Int], _ commands:[[Int]]) -> [Int] { var answer:[Int] = [] for command in commands { let i = command[0] - 1 let j = command[1] - 1 let k = command[2] - 1 let number = Array(array[i...j]).sorted()[k] answer.append(number) } return answer } fun.. 2020. 2. 7.
728x90
๋ฐ˜์‘ํ˜•