๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Coding Test ์ฝ”๋”ฉํ…Œ์ŠคํŠธ

Do it ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ•˜๋ฃจ์ฝ”๋”ฉ 4์žฅ ์ •๋ ฌ ์ด๋ก 

by ๋น„์†Œ์•ผ 2022. 11. 17.
728x90

# 10 ๋ฒ„๋ธ”์ •๋ ฌ
์ธ์ ‘ํ•œ ๋ฐ์ดํ„ฐ๋ผ๋ฆฌ ํฌ๊ธฐ ๋น„๊ตํ•˜์—ฌ swap
์‹œ๊ฐ„ ๋ณต์žก๋„ O(n^2) // 1๋ฒˆ ๋ฃจํ”„๋‹น 1๊ฐœ ํ”ฝ์Šค

0๊ณผ 1 ๋น„๊ตํ•˜์—ฌ ์Šค์™‘, 1๊ณผ 2๋ฅผ ๋น„๊ตํ•˜์—ฌ ์Šค์™‘, ... ๋งจ๋’ค๊ฐ€ ์ •๋ ฌ๋œ ์˜์—ญ
์ •๋ ฌ๋œ ์˜์—ญ์„ ์ œ์™ธํ•˜๊ณ  0๊ณผ 1 ๋น„๊ตํ•˜์—ฌ ์Šค์™‘, 1๊ณผ 2๋ฅผ ๋น„๊ตํ•˜์—ฌ ์Šค์™‘, ...

๋งŒ์•ฝ ํŠน์ •ํ•œ ๋ฃจํ”„์˜ ์ „์ฒด ์˜์—ญ์—์„œ swap์ด ํ•œ ๋ฒˆ๋„ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด, ๋ชจ๋‘ ์ •๋ ฌ๋˜์–ด ์žˆ๋‹ค๋Š” ๋œป์ด๋ฏ€๋กœ ๋” ์ด์ƒ ์ •๋ ฌ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

# 11 ์„ ํƒ ์ •๋ ฌ
์ •๋ ฌ ํ•ด์•ผ ๋˜๋Š” ๋ฒ”์œ„์—์„œ ์ตœ์†Ÿ๊ฐ’ ๋˜๋Š” ์ตœ๋Œ“๊ฐ’์„ ์ฐพ๊ณ , ๋‚จ์€ ์ •๋ ฌ ํ•ด์•ผ ๋˜๋Š” ๋ถ€๋ถ„์˜ ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ์™€ swap
์‹œ๊ฐ„ ๋ณต์žก๋„ O(n^2) // 1๋ฒˆ ๋ฃจํ”„๋‹น 1๊ฐœ ํ”ฝ์Šค

# 12 ์‚ฝ์ž… ์ •๋ ฌ
์ด๋ฏธ ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ์˜ ๋ฒ”์œ„์— ์ •๋ ฌ๋˜์ง€ ์•Š์€ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ ์ ˆํ•œ ์œ„์น˜์— ์‚ฝ์ž…์‹œ์ผœ ์ •๋ ฌ // ์˜ค๋ฆ„์ฐจ์ˆœ์ธ ๊ฒฝ์šฐ ์ž์‹ ๋ณด๋‹ค ์ž‘์€ ๊ฐ’์„ ์ฐพ์•„ ๋ฐ”๋กœ ๋’ค์— ์‚ฝ์ž…
์‹œ๊ฐ„๋ณต์žก๋„ O(n^2)

์ •๋ ฌ๋œ ์˜์—ญ์—์„œ๋Š” ์ด์ง„ ํƒ์ƒ‰์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ O(n)์—์„œ O(logN)์œผ๋กœ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ธฐ๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ ค ์‚ฝ์ž… ์ •๋ ฌ์„ ์ž์ฃผ ์‚ฌ์šฉํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค.

# 13 ๋ณ‘ํ•ฉ ์ •๋ ฌ
๋ณ‘ํ•ฉ ์ •๋ ฌ(merge sort)๋Š” ๋ถ„ํ•  ์ •๋ณต ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด, ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ• ํ•˜๊ณ  ๋ถ„ํ• ํ•œ ์ง‘ํ•ฉ์„ ๊ฐ๊ฐ ์ •๋ ฌํ•˜์—ฌ ํ•ฉ์น˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
์‹œ๊ฐ„๋ณต์žก๋„ O(nlogn)

 

์ „์ฒด๊ฐ€ ์ •๋ ฌ ๋˜์–ด ์žˆ์ง„ ์•Š์ง€๋งŒ, ๊ฐ ์ง‘ํ•ฉ์€ ์ •๋ ฌ ๋˜์–ด ์žˆ๋‹ค.

 

ํ•œ ์ชฝ์˜ ์ง‘ํ•ฉ์—์„œ ๋ชจ๋“  ์š”์†Œ๊ฐ€ ์ €์žฅ๋˜๋ฉด ๋‚˜๋จธ์ง€๋Š” ๊ทธ๋Œ€๋กœ ์ €์žฅ

 

2๊ฐœ์˜ ๊ทธ๋ฃน์„ ๋ณ‘ํ•ฉํ•˜๋Š” ๊ณผ์ •
ํˆฌ ํฌ์ธํ„ฐ ๊ฐœ๋…์„ ์‚ฌ์šฉ
์™ผ์ชฝ ํฌ์ธํ„ฐ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ’๊ณผ ์˜ค๋ฅธ์ชฝ ํฌ์ธํ„ฐ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ์ž‘์€ ๊ฐ’์„ ๋ฐฐ์—ด์— ์ €์žฅ (์˜ค๋ฆ„์ฐจ์ˆœ ๊ฒฝ์šฐ)
ํฌ์ธํ„ฐ๋กœ๋Š” ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ ์นธ ์ด๋™


14:00 // ์•ž์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋ช‡๊ฐœ ๋‚จ์•„ ์žˆ๋Š”์ง€
1. swap์ด n๋ฒˆ ์ผ์–ด๋‚ฌ๋‹ค.
2. ์ž๋™์ฐจ ๊ฒฝ์ฃผ์—์„œ n๋ฒˆ ์—ญ์ „์ด ์ผ์–ด๋‚ฌ๋‹ค.

728x90