Java/์•Œ๊ณ ๋ฆฌ์ฆ˜

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์‹œ๊ฐ„ ๋ณต์žก๋„

soowitty 2024. 1. 29. 11:31
๐Ÿ’ก ๋Œ€๋ถ€๋ถ„์˜ ๋‚ด์šฉ์„ Do it! ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ with JAVA ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์‹œ๊ฐ„ ๋ณต์žก๋„

์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์—ฐ์‚ฐ ํšŸ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ 1์ดˆ์— 1์–ต๋ฒˆ์˜ ์—ฐ์‚ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฌธ์ œ์—์„œ ์‹œ๊ฐ„ ์ œํ•œ์ด 2์ดˆ๋ผ๋ฉด, 2์–ต ๋ฒˆ ์ดํ•˜์˜ ์—ฐ์‚ฐ ํšŸ์ˆ˜๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ•œ๋‹ค!

  • ์—ฐ์‚ฐ ํšŸ์ˆ˜๋Š” 1์ดˆ์— 1์–ต๋ฒˆ ์—ฐ์‚ฐํ•˜๋Š” ๊ฒƒ์„ ๊ธฐ์ค€์œผ๋กœ ์ƒ๊ฐํ•œ๋‹ค.
    • ์‹œ๊ฐ„์ œํ•œ์ด 2์ดˆ๋ผ๋ฉด, 2์–ต๋ฒˆ ์ดํ•˜์˜ ์—ฐ์„  ํšŸ์ˆ˜๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ•œ๋‹ค!

 

์‹œ๊ฐ„ ๋ณต์žก๋„ ํ™œ์šฉ

์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ณ„์‚ฐํ•˜๋ ค๋จผ ๋ฐ์ดํ„ฐ์˜ ๊ฐœ์ˆ˜์™€ ์ œํ•œ ์‹œ๊ฐ„์„ ๋ณด๋ฉด ๋œ๋‹ค.

๐Ÿง [๋ฌธ์ œ 1] N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.
- ์‹œ๊ฐ„ ์ œํ•œ : 2์ดˆ
- ์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋Š” ์ ˆ๋Œ“๊ฐ’์ด 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค. ์ˆ˜๋Š” ์ค‘๋ณต๋˜์ง€ ์•Š๋Š”๋‹ค.
  • N(1 ≤ N ≤ 1,000,000)์ผ ๋•Œ, 1,000,000์— ์ง‘์ค‘ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด์— ์•Œ๋งž์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ๋ณ„ํ•ด์•ผ ํ•œ๋‹ค.

 

์—ฐ์‚ฐ ํšŸ์ˆ˜ ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•

์‹œ๊ฐ„ ๋ณต์žก๋„์— ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๋ฅผ ๋Œ€์ž…ํ•˜๋ฉด ์—ฐ์‚ฐ ํšŸ์ˆ˜๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

์œ„ [๋ฌธ์ œ 1]์—์„œ, ์‹œ๊ฐ„ ์ œํ•œ์ด 2์ดˆ์ด๋ฏ€๋กœ ์—ฐ์‚ฐ ํšŸ์ˆ˜๊ฐ€ 2์–ต๋ฒˆ ์ดํ•˜์—ฌ์•ผ ํ•œ๋‹ค.

  • ๋ฒ„๋ธ” ์ •๋ ฌ
    • ์‹œ๊ฐ„๋ณต์žก๋„ : N^2
    • ์—ฐ์‚ฐ ํšŸ์ˆ˜ : (100๋งŒ)^2
  • ๋ณ‘ํ•ฉ ์ •๋ ฌ
    • ์‹œ๊ฐ„๋ณต์žก๋„ : NlogN
    • ์—ฐ์‚ฐ ํšŸ์ˆ˜ : (100๋งŒ)log(100๋งŒ)

 

๋ฒ„๋ธ” ์ •๋ ฌ์€ ์•ฝ 10์–ต ๋ฒˆ์˜ ์—ฐ์‚ฐ ํšŸ์ˆ˜๊ฐ€ ํ•„์š”ํ•˜๋ฏ€๋กœ ๋ถ€์ ํ•ฉํ•˜๋‹ค.

๋ณ‘ํ•ฉ ์ •๋ ฌ์€ ์•ฝ 2์ฒœ๋งŒ ๋ฒˆ(100๋งŒ์€ 2์˜ ์•ฝ 20์Šน)์˜ ์—ฐ์‚ฐ ํšŸ์ˆ˜๊ฐ€ ํ•„์š”ํ•˜๋ฏ€๋กœ ์ ํ•ฉํ•˜๋‹ค.

 

๐Ÿ“Œ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ(N)์„ ๋‹จ์„œ๋กœ ์ด์šฉํ•˜์—ฌ ์ ํ•ฉํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ถ”์ธกํ•  ์ˆ˜ ์žˆ๋‹ค!

 

 

์‹œ๊ฐ„ ๋ณต์žก๋„ ๋„์ถœ ๊ธฐ์ค€

๋‚ด๊ฐ€ ์ง  ์ฝ”๋“œ์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ์ค€์œผ๋กœ ํ™•์ธํ•œ๋‹ค.

  • ์ƒ์ˆ˜๋Š” ์‹œ๊ฐ„ ๋ณต์žก๋„ ๊ณ„์‚ฐ์—์„œ ์ œ์™ธํ•œ๋‹ค.
    • ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ 3N์ด๋ผ๊ณ  ํ•˜๋”๋ผ๋„, N์•ž์˜ ์ƒ์ˆ˜ 3์€ ์‹œ๊ฐ„๋ณต์žก๋„ ์ธก๋ฉด์—์„œ ์˜ํ–ฅ๋ ฅ์ด ์—†์œผ๋ฏ€๋กœ ๋ฌด์‹œํ•ด๋„ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์ œ์™ธํ•˜๊ณ  N์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.
  • ๊ฐ€์žฅ ๋งŽ์ด ์ค‘์ฒฉ๋œ ๋ฐ˜๋ณต๋ฌธ์˜ ์ˆ˜ํ–‰ ํšŸ์ˆ˜๊ฐ€ ์‹œ๊ฐ„ ๋ณต์žก๋„์˜ ๊ธฐ์ค€์ด ๋œ๋‹ค.
    • 2์ค‘ for๋ฌธ์ธ ๊ฒฝ์šฐ์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” N^2์ด ๋œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

 

์ฃผ์˜ ์‚ฌํ•ญ

  1. ์•Œ๋งž์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•˜๊ธฐ
  2. ๋น„ํšจ์œจ์ ์ธ ๋กœ์ง์„ ์ฐพ์•„์„œ ํšจ์œจ์ ์œผ๋กœ ๋ฐ”๊พธ๊ธฐ