ํฌ์ŠคํŠธ

๐ŸŒ“ ์•Œ๊ณ ๋ฆฌ๋“ฌ ๊ณผ๋ชฉ

@ 2์ฐจ์‹œ

๐Ÿ’ซ Algorithm - ์•Œ๊ณ ๋ฆฌ๋“ฌ


๋ฒ”์šฉ์  ์ ˆ์ฐจ / ๋ช…๋ น์–ด ์ง‘ํ•ฉ
์–ด๋–ค ์ผ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋‘”, ์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ ๋ช…๋ น์˜ ์ง‘ํ•ฉ.
์‚ฌ์‹ค ๋ชจ๋“  ์ฝ”๋“œ๋Š” ์ด๋Ÿฐ ์˜๋ฏธ์—์„œ ์•Œ๊ณ ๋ฆฌ๋“ฌ.

์šฐ๋ฆฌ๊ฐ€ ๋ณดํ†ต ๊ณต๋ถ€ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ๋“ฌ์€
๋‹ค๋ฅธ ์ฝ”๋“œ๋ณด๋‹ค ์†๋„๋ฅผ ๋น ๋ฅด๊ฒŒ ํ•˜๊ฑฐ๋‚˜, ํŠน์ • ๋ถ„์•ผ์˜ ํฅ๋ฏธ๋กœ์šด ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•œ ๊ฒƒ.

๋‹จ์ˆœํžˆ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด๋‚˜ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ์„ฑ๋Šฅ์ด ํฌ๊ฒŒ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค.

์–ธ์–ด์— ์ด๋ฏธ ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ๋“ฌ๋„ ์žˆ์ง€๋งŒ,
๊ทธ ์•Œ๊ณ ๋ฆฌ๋“ฌ์˜ ๋‚ด๋ถ€ ๋™์ž‘๊ณผ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์•Œ๊ณ ๋ฆฌ๋“ฌ ๊ฐ„์˜ ์ฐจ์ด์ ์„ ์ดํ•ดํ•˜๊ณ  ์žˆ์–ด์•ผ ์˜๋ฏธ๊ฐ€ ์žˆ๋‹ค.

์ฑ… โ€˜์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋„๊ฐโ€™ ์—์„œโ€ฆ
๊ณ„์‚ฐ์ด๋‚˜ ์ž‘์—…์„ ํ•˜๊ธฐ ์œ„ํ•œ ์ˆœ์„œ (Like ์š”๋ฆฌ์˜ ๋ ˆ์‹œํ”ผ, But ๋ ˆ์‹œํ”ผ์™€ ๋‹ค๋ฅด๊ฒŒ ์ˆœ์„œ๊ฐ€ ์—„๊ฒฉํ•œ ์ˆ˜ํ•™์  ๊ธฐ์ˆ )

vs ํ”„๋กœ๊ทธ๋žจ
ํ”„๋กœ๊ทธ๋žจ : ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•˜๋„๋ก
์•Œ๊ณ ๋ฆฌ๋“ฌ : ์‚ฌ๋žŒ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก


๐Ÿ’ซ ์•Œ๊ณ ๋ฆฌ๋“ฌ์˜ ์กฐ๊ฑด


  • I/O
  • ๊ฐ ๋ช…๋ น์–ด์˜ ๋ช…ํ™•์„ฑ(๋ถ„๋ช…, !๋ชจํ˜ธ)
  • ๊ฐ ๋ช…๋ น์–ด์˜ ์œ ํšจ์„ฑ(์ปดํ“จํ„ฐ ์‹คํ–‰ ๊ฐ€๋Šฅ)
  • ์•Œ๊ณ ๋ฆฌ๋“ฌ์˜ ์œ ํ•œ์„ฑ(์‹œ์ž‘-๋, ํ˜„์‹ค์ ์ธ ์‹คํ–‰ ์‹œ๊ฐ„)
  • ์ •ํ™•์„ฑ(ํ•ด๋‹ต)


๐Ÿ’ซ ์•Œ๊ณ ๋ฆฌ๋“ฌ์˜ ํ‘œํ˜„


์ž์—ฐ์–ด, ์˜์‚ฌ(Pseudo) ์ฝ”๋“œ, ํ๋ฆ„๋„/์ˆœ์„œ๋„, ์ฝ”๋“œ


๐Ÿ’ซ ๋ฉ”๋ชจ


@ ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ์•Œ๊ณ ๋ฆฌ๋“ฌ : ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•

@ ๊ณผ์ œ 1 : ํ€ต ์ •๋ ฌ๊ณผ ํ•ฉ๋ณ‘ ์ •๋ ฌ ๋น„๊ต, ์„ฑ๋Šฅ ์ธก์ •
๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ ํฌ๋ฉด ํด์ˆ˜๋ก ์ข‹์Œ
๋ฐ์ดํ„ฐ ํฌ๊ธฐ๋ณ„ ๋น„๊ต๋„ ํ•„์š”

@ ๊ณผ์ œ 2 : ์ตœ์ €์˜ ์ž„๊ณ„๊ฐ’์„ ์ฐพ์•„๋ผ
ํ€ต ์ •๋ ฌ๊ณผ ์‚ฝ์ž…์ •๋ ฌ์„ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ๋กœ ์“ธ๊ฑด๋ฐ
n๊ฐœ์˜ ๋ฐ์ดํ„ฐ, ์ž„๊ณ„๊ฐ’ t = n์—์„œ ์ ์  ๋‚ฎ์ถฐ๋ณด๋Š”
t = n์€ ์‚ฝ์ž…์ •๋ ฌ์„ ์“ด๋‹ค๋Š” ๊ฑฐ
t = 0์€ ํ€ต์ •๋ ฌ์„ ์“ด๋‹ค๋Š” ๊ฑฐ
t๊ฐ€ ๋ญ์ผ๋•Œ ๊ฐ€์žฅ ๋น ๋ฅธ์ง€

+@ ์ž๊ธฐ ์•Œ๊ณ ๋ฆฌ๋“ฌ๊ณผ ์–ธ์–ด ์ œ๊ณต ์•Œ๊ณ ๋ฆฌ๋“ฌ ์„ฑ๋Šฅ ๋น„๊ต

@ ํ•™๊ต ์•Œ๊ณ ๋ฆฌ๋“ฌ ๊ณผ๋ชฉ ๊ฐ•์˜
@ Hello Coding ์•Œ๊ณ ๋ฆฌ์ฆ˜
@ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋„๊ฐ

๋ฒ”์šฉ ๊ธฐ์ˆ  General Technique

์ด ๊ธฐ์‚ฌ๋Š” ์ €์ž‘๊ถŒ์ž์˜ CC BY 4.0 ๋ผ์ด์„ผ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.