๋ฐ˜๊ฐ€์›Œ์š”! ํ—ˆ๋ธŒ์ž…๋‹ˆ๋‹ค!

์ €๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ํ˜„๋Œ€ ์—ฐ๊ธˆ์ˆ ์‚ฌ๋ผ๊ณ  ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ๋Š๋‚€ ์ ๋“ค๊ณผ ์ด์•ผ๊ธฐ๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.

countingsort 1

[์ž๋ฃŒ๊ตฌ์กฐ] counting sort ๊ณ„์ˆ˜์ •๋ ฌ

์•ˆ๋…•ํ•˜์„ธ์š” ์ฃผ์ธ์žฅ H์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ์„ ํƒ, ๋ฒ„๋ธ”, ์‚ฝ์ž…, ํ€ต, ๋ณ‘ํ•ฉ, ํž™ ์ •๋ ฌ์˜ ๊ฐœ๋…์„ ๊ณต๋ถ€ํ•ด๋ณด์•˜๊ณ , ๊ฐ€์žฅ ๋นผ์šด ์ •๋ ฌ์€ O(N * log N)์ด ๋‚˜์˜ค๋Š” ํ€ต, ๋ณ‘ํ•ฉ, ํž™ ์ •๋ ฌ ์ด์˜€์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ณด๋‹ค ๋”์šฑ ๋น ๋ฅธ ์ •๋ ฌ์„ ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ์š” ๋‹ค์Œ์˜ 3 ์ดํ•˜์˜ ๋ฐ์ดํ„ฐ ์ž์—ฐ์ˆ˜๋“ค์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ฆฌํ•˜์„ธ์š” 1 3 2 3 1 2 3 2 1 3 10๊ฐœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ชจ๋‘ 3์•ˆ์— ์žˆ๋Š”๊ฑธ ์•Œ ์ˆ˜ ์žˆ๋Š”๋ฐ์š”. ์ด์ฒ˜๋Ÿผ ๋ฒ”์œ„์กฐ๊ฑด์ด ์žˆ๋Š” ๊ฒฝ์šฐ์— ํ•œํ•ด ๊ต‰์žฅํžˆ ๋น ๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž…๋‹ˆ๋‹ค. ์†๋„๋Š” O(N)์ž…๋‹ˆ๋‹ค. ๊ณ„์ˆ˜์ •๋ ฌ์€ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐฏ์ˆ˜๋ฅผ ์„ธ๋ฉด ์–ด๋–จ๊นŒ? ๋ž€ ๋ฐœ์ƒ์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ ์„ธ๊ฐœ์˜ ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ  1์ด๋ฉด arr[0]++ 3์ด๋ฉด arr[2]++ ์ด๋Ÿฐ์‹์œผ๋กœ ์ˆซ์ž๋ฅผ ์„ธ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ˆซ์ž์˜ ๊ฐฏ์ˆ˜๊ฐ€ ์„ธ์งˆํ…Œ๊ณ  1์„ ar..