๐Ÿ’ป JAVA_

๐Ÿ” ํˆฌ ํฌ์ธํ„ฐ – ์ด์ค‘ for๋ฌธ์„ ์ค„์ด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ฒ•

CodeLoge 2025. 6. 11. 19:42

โ“ ๋ฌธ์ œ ์„ค๋ช…

 

์ด์ค‘ for๋ฌธ(O(n^2))์„ ์‚ฌ์šฉํ•˜๋Š” ๋กœ์ง์€ ๋А๋ฆฌ๊ณ  ๋น„ํšจ์œจ์ 
ํ•˜์ง€๋งŒ ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ๋น„๊ตํ•ด์•ผ ํ•œ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ?
→ ํˆฌ ํฌ์ธํ„ฐ(ํˆฌ-ํฌ์ธํ„ฐ) ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ๋Œ€๋ถ€๋ถ„์˜ ์ด์ค‘ ๋ฐ˜๋ณต์„ O(n) ์ˆ˜์ค€์œผ๋กœ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Œ


๐Ÿ“Œ ์ œํ•œ ์กฐ๊ฑด

 

• ์ •๋ ฌ๋œ ๋ฐฐ์—ด ํ˜น์€ ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ

• ๋‘ ์ธ๋ฑ์Šค๋ฅผ ์ด๋™ํ•˜๋ฉฐ ์ „์ฒด ๋ฒ”์œ„๋ฅผ ํ™•์ธํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ

• ๋ˆ„์ ํ•ฉ, ํ•ฉ ๋น„๊ต, ๊ตฌ๊ฐ„ ํƒ์ƒ‰ ๋ฌธ์ œ ๋“ฑ


๐Ÿ” ํ’€์ด ์ „๋žต

 

โœ”๏ธŽ ๋‘ ๊ฐœ์˜ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์œ„์น˜๋ฅผ ๊ธฐ์–ตํ•˜๋ฉฐ ์ด๋™

โœ”๏ธŽ ์กฐ๊ฑด์— ๋”ฐ๋ผ ํ•˜๋‚˜๋งŒ ์ด๋™ํ•˜๊ฑฐ๋‚˜ ๋‘˜ ๋‹ค ์ด๋™

โœ”๏ธŽ while๋ฌธ, ๋˜๋Š” ๋‹จ์ผ for๋ฌธ์œผ๋กœ ๊ตฌํ˜„ ๊ฐ€๋Šฅ

โœ”๏ธŽ ํฌ์ธํ„ฐ ๋ณ€์ˆ˜๋ช… ์˜ˆ์‹œ :

→ start, end ๋˜๋Š” left, right

→ s, e / l, r ๋“ฑ

โœ”๏ธŽ ํ™”์‚ดํ‘œ๊ฐ€ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ์›€์ง์ด๋Š” ๊ทธ๋ฆผ์ด ์žˆ๋‹ค๋ฉด → ํˆฌ ํฌ์ธํ„ฐ ๊ฐ€๋Šฅ์„ฑ ๋†’์Œ


โœ… ์ž์ฃผ ์“ฐ์ด๋Š” ์ƒํ™ฉ

 

1๏ธโƒฃ ํŠน์ • ํ•ฉ์„ ๋งŒ์กฑํ•˜๋Š” ๋‘ ์ˆ˜ ์ฐพ๊ธฐ

2๏ธโƒฃ ๋ถ€๋ถ„ ๋ฐฐ์—ด์˜ ํ•ฉ์ด ํŠน์ • ๊ฐ’ ์ด์ƒ์ธ ์ตœ์†Œ ๊ธธ์ด ๊ตฌํ•˜๊ธฐ

3๏ธโƒฃ ํšŒ๋ฌธ ์—ฌ๋ถ€ ๊ฒ€์‚ฌ (์–‘์ชฝ ๋์—์„œ ์ขํ˜€์˜ค๋ฉฐ ๋น„๊ต)

4๏ธโƒฃ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋„ ๋งŽ์Œ


๐Ÿ’ก ํ•ด์„ค

 

์ด์ค‘ for๋ฌธ์€ ์™„์ „ํƒ์ƒ‰์—์„œ๋Š” ์œ ์šฉํ•˜์ง€๋งŒ, ์ž…๋ ฅ์ด ๋งŽ์„์ˆ˜๋ก ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ํผ
ํˆฌ ํฌ์ธํ„ฐ ๊ธฐ๋ฒ•์€ "๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ํ™•์ธํ•˜๋ฉด์„œ๋„, ๋ถˆํ•„์š”ํ•œ ๋น„๊ต๋ฅผ ํ•˜์ง€ ์•Š๋„๋ก ํฌ์ธํ„ฐ๋กœ ์กฐ์ ˆ"ํ•จ
๐Ÿ‘‰ ์ด์ค‘ ๋ฐ˜๋ณต์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ํฐ ์žฅ์ 