๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ์ธ๊ณต๋ถ€/Algorithm

[Level 1] ํฐ์ผ“๋ชฌ

by ๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2021. 5. 13.

 

 

 

Algorithm

-  ํฐ์ผ“๋ชฌ -

 


 

๋ฌธ์ œ

๋‹น์‹ ์€ ํฐ์ผ“๋ชฌ์„ ์žก๊ธฐ ์œ„ํ•œ ์˜ค๋žœ ์—ฌํ–‰ ๋์—, ํ™ ๋ฐ•์‚ฌ๋‹˜์˜ ์—ฐ๊ตฌ์‹ค์— ๋„์ฐฉํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ™ ๋ฐ•์‚ฌ๋‹˜์€ ๋‹น์‹ ์—๊ฒŒ ์ž์‹ ์˜ ์—ฐ๊ตฌ์‹ค์— ์žˆ๋Š” ์ด N ๋งˆ๋ฆฌ ํฐ์ผ“๋ชฌ ์ค‘์—์„œ N/2๋งˆ๋ฆฌ๋ฅผ ๊ฐ€์ ธ๊ฐ€๋„ ์ข‹๋‹ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ™ ๋ฐ•์‚ฌ๋‹˜ ์—ฐ๊ตฌ์‹ค์˜ ํฐ์ผ“๋ชฌ์€ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์—ฌ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๊ฐ™์€ ์ข…๋ฅ˜์˜ ํฐ์ผ“๋ชฌ์€ ๊ฐ™์€ ๋ฒˆํ˜ธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋‹น์‹ ์€ ์ตœ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ํฐ์ผ“๋ชฌ์„ ๊ฐ€์ง€๊ธธ ์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ตœ๋Œ€ํ•œ ๋งŽ์€ ์ข…๋ฅ˜์˜ ํฐ์ผ“๋ชฌ์„ ํฌํ•จํ•ด์„œ N/2๋งˆ๋ฆฌ๋ฅผ ์„ ํƒํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค.

N๋งˆ๋ฆฌ ํฐ์ผ“๋ชฌ์˜ ์ข…๋ฅ˜ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด nums๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, N/2๋งˆ๋ฆฌ์˜ ํฐ์ผ“๋ชฌ์„ ์„ ํƒํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘, ๊ฐ€์žฅ ๋งŽ์€ ์ข…๋ฅ˜์˜ ํฐ์ผ“๋ชฌ์„ ์„ ํƒํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•„, ๊ทธ๋•Œ์˜ ํฐ์ผ“๋ชฌ ์ข…๋ฅ˜ ๋ฒˆํ˜ธ์˜ ๊ฐœ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

nums result
[3, 1, 2, 3] 2
[3, 3, 3, 2, 2, 4] 3

 

๋ฌธ์ œ ํ’€๊ธฐ

 

์ด๋ฒˆ ๋ฌธ์ œ๋Š” ์˜ˆ์ „์— ํ’€์–ด๋ณธ ๋ฌธ์ œ์˜€๋Š”๋ฐ ์ด์ „์— ์ค‘๋ณต์ œ๊ฑฐํ•˜๋Š” ๊ณผ์ •์„ for๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋Š”๋ฐ ๊ณ ์ฐจํ•จ์ˆ˜๋กœ๋„ ์ค‘๋ณต์ œ๊ฑฐ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š”๊ฒƒ์„ ์•Œ๊ณ  ์ค‘๋ณต์ œ๊ฑฐ๋ฅผ filter๋ฅผ ์ด์šฉํ•ด์„œ ๋ฌธ์ œํ•ด๊ฒฐ์„ ์‹œ๋„ํ•ด ๋ณด์•˜๋‹ค.

 

filter๋Š” ์กฐ๊ฑด์— ์„ฑ๋ฆฝ๋˜๋Š” ์—˜๋ฆฌ๋จผํŠธ๋“ค๋งŒ ๋ฆฌํ„ด๋˜๊ฒŒ ํ•˜๋Š” ํŠน์ง•์ด ์žˆ๋Š”๋ฐ filter์•ˆ์— ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฐฐ์—ด์˜ nums๊ฐ’ ํ•˜๋‚˜ํ•˜๋‚˜์ธ el์™€ ์ธ๋ฑ์Šค์ธ idx๋กœ ์„ค์ •ํ•œ ๋‹ค์Œ์— ๋ฆฌํ„ด ์กฐ๊ฑด์„ ํŠน์ • ์—˜๋ฆฌ๋จผ๊ฐ€ nums๊ธฐ์ค€ ์œ„์น˜์™€ ํ˜„์žฌ ์—˜๋ฆฌ๋จผํŠธ์˜ ์ธ๋ฑ์Šค๊ฐ’๊ณผ ์ผ์น˜ํ•œ ๊ฐ’๋งŒ ๋‚ด๋ณด๋‚ด๋„๋ก ์„ค์ •ํ•ด์ฃผ๋ฉด ์ค‘๋ณต์ œ๊ฑฐ๊ฐ€ ์ด๋ฃจ์–ด ์ง„๋‹ค.

 

์ฆ‰, indexOf๋Š” ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ์ธ๋ฑ์Šค๋ฅผ ๋‚ด๋ณด๋‚ด๋Š” ํŠน์ง•์ด ์žˆ๋Š”๋ฐ ๋งŒ์•ฝ el์˜ indexOf๊ฐ’๊ณผ idx์˜ ๊ฐ’์ด ๋‹ค๋ฅธ๊ฑด ์œ„์น˜๊ฐ€ ๋‹ค๋ฅธ ๊ฒƒ์œผ๋กœ ๊ฒฐ๊ตญ el์€ ์ค‘๋ณต๊ฐ’์ด๋ผ๋Š” ์˜๋ฏธ๋กœ ๊ฐ’์„ ๋‚ด๋ณด๋‚ด์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์ดํ›„์— ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉด ๋ฉ‹์ง€๊ฒŒ ํ•ด๊ฒฐ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. bb

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€