๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜

Algorithm

by JayAlex07 2022. 12. 28.

๐Ÿ“‹Algorithm - ์ž๋ฃŒ๊ตฌ์กฐ

 

โœ”๏ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€

Input → Algorithm → Output

  • ๋ฌธ์ œ๋ž€ ํŠน์ •ํ•œ input์„ ๋„ฃ์–ด, ์›ํ•˜๋Š” output์ด ๋‚˜์˜ค๋„๋ก ํ•˜๋Š” ๊ฒƒ
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ •ํ•ด์ง„ ์ ˆ์ฐจ๋‚˜ ํ–‰๋™์ด๋‹ค

โœ”๏ธ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋ž€

๊ธฐ์—…์—์„œ ์ง€์›์ž ๋Œ€์ƒ์œผ๋กœ ์ฝ”๋”ฉ์„ ํ†ตํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ฐ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ์„ ํ‰๊ฐ€

  • ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ๊ณผ ๊ตฌํ˜„๋ ฅ์„ ๋ณด๋ ค๊ณ  ํ•˜๋Š” ๊ฒƒ
  • ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ : ๋ฌธ์ œ ์˜๋„๋ฅผ ์ •ํ™•ํžˆ ํŒŒ์•…ํ•˜๊ณ , ์ ์ ˆํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ ์šฉํ•˜๋Š”๊ฐ€?
  • ๊ตฌํ˜„๋ ฅ : ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ†ตํ•ด ๋Šฅ์ˆ™ํ•˜๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€?
    • ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ : ๋ฌธ์ œํŒŒ์•…ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ๊ตฌ์ƒ์ •๋‹ต ๊ตฌํ˜„
    • ํ˜„์—… : ๋น„์ฆˆ๋‹ˆ์Šค ๋ฌธ์ œํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ๊ตฌ์„ฑ์ˆ˜์ • ๋ฐ ๊ตฌํ˜„
      • ์™„๋ฒฝํžˆ ๋˜‘๊ฐ™์ง€๋Š” ์•Š์ง€๋งŒ, ์–ด๋Š ์ˆ˜์ค€๊นŒ์ง€๋Š” ๋Œ€๋žต์ ์œผ๋กœ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค

โœ”๏ธ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ์˜ ์ข…๋ฅ˜

์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋ฅผ ๋ณผ ๋•Œ, ํ˜น์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ์—๋Š” '๋ฌธ์ œ๋ฅผ ์ •์˜'๋ฅผ ํ•˜๊ณ  ์ฝ”๋“œ ์ž‘์„ฑ์„ ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

์ฆ‰, ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•œ ๊ฒƒ์„ ๋ฏธ๋ฆฌ ์ ์–ด๋‘๊ณ , ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ผ.

์•ˆ ๊ทธ๋Ÿฌ๋ฉด, ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค๊ฐ€ ํ•ด๋งฌ์ˆ˜๋„ ์žˆ๋‹ค.

์˜จ๋ผ์ธ

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๊ฐ™์€ ๋ฌธ์ œ ํ’€์ด ์‚ฌ์ดํŠธ๋ฅผ ํ†ตํ•ด ์‹œํ—˜์„ ๋ณด๋Š” ๊ณณ๋„ ์žˆ์Œ
  • TIP ๐Ÿ“Œ
    • ์‚ฌ์ „์— ์—ฐ์Šต์žฅ๊ณผ ํ•„๊ธฐ๋„๊ตฌ ์ค€๋น„
    • ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ด์™ธ์˜ ์—ฃ์ง€ ์ผ€์ด์Šค๋„ ํ™•์ธ
    • ์ธํ„ฐ๋„ท, IDE, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋…ธํŠธ ์ ๊ทน ํ™œ์šฉ

์˜คํ”„๋ผ์ธ

  • ๊ฐœ๋ฐœํ˜• ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ
    • ์–ธ์–ด ๋ฐ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์˜ ์ œ์•ฝ ์—†์Œ
    • JSON format์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‘๊ฐ‘ํ•˜๋Š” REST API๋ฅผ ํ™œ์šฉ
  • ํ™”์ดํŠธ๋ณด๋“œ ์†์ฝ”๋”ฉ
    • ๋ฉด์ ‘๊ด€์ด ๋ฌธ์ œ๋ฅผ ์ฃผ๋ฉด, ๋ฌธ์ œ๋ฅผ ๋ฉด์ ‘๊ด€ ์•ž์—์„œ ํ’€๋ฉด์„œ, ์„ค๋ช…์„ ํ•˜๋Š” ๊ฒƒ
    • ์–ด๋– ํ•œ ๋…ผ๋ฆฌ, ์–ด๋– ํ•œ ๊ณผ์ •์„ ๊ฑฐ์น˜๋Š”์ง€ ์ƒ๋Œ€๋ฐฉ์ด ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๋ช…ํ•˜๋Š”๊ฒŒ ์ค‘์š”ํ•˜๋‹ค

โœ”๏ธ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์ค€๋น„ํ•˜๊ธฐ

๋งŽ์ด ํ‘ธ๋Š” ๊ฒƒ์ด ์ค‘์š”! 350๋ฌธ์ œ ์ด์ƒ

๋ฌธ์ œ ํ’€์ด ์‚ฌ์ดํŠธ ์ฃผ์†Œ ํŠน์ง•
๋ฐฑ์ค€ ์˜จ๋ผ์ธ ์ €์ง€ (BOJ) https://www.acmicpc.net/ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ํ”Œ๋žซํผ / ์ตœ๋‹ค ๋ฌธ์ œ ๋ณด์œ  / ์œ ํ˜•๋ณ„, ๋‹จ๊ณ„๋ณ„ ๋ฌธ์ œ ์ œ๊ณต
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (Programmers) https://programmers.co.kr/ ์‹ค์ œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ๊ณผ ์œ ์‚ฌ / ์นด์นด์˜ค ๊ธฐ์ถœ๋ฌธ์ œ ์ œ๊ณต
์ฝ”๋“œ์—… (CodeUp) https://codeup.co.kr/ ๊ธฐ์ดˆ ํŒŒ์ด์ฌ 100์ œ
SW Expert Academy (SWEA) https://swexpertacademy.com/ ์‚ผ์„ฑ์ „์ž์—์„œ ์ œ์ž‘ํ•œ ํ”Œ๋žซํผ / ์‚ผ์„ฑ SW ์—ญ๋Ÿ‰ ํ…Œ์ŠคํŠธ ๋ฌธ์ œ ๋‹ค์ˆ˜ ๋ณด์œ 
  • ๋งค๋ฒˆ ํ’€ ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ์œ ํ˜•์„ ํ‘ธ๋Š” ๊ฒƒ๋ณด๋‹ค, ๊ฐ™์€ ์œ ํ˜• ๋ฌธ์ œ๋ฅผ ๋‹จ๊ธฐ๊ฐ„์— ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค
  • ์˜ค๋žœ ์‹œ๊ฐ„ ๊ณ ๋ฏผํ–ˆ์„ ๋•Œ ํ’€๋ฆฌ์ง€ ์•Š์œผ๋ฉด, ๋‹ต์„ ๋ณธ๋‹ค. ๋‹จ, ๋‹ค์‹œ ๋˜ ํ’€์–ด๋ณด๊ธฐ
  • ๊ธฐํƒ€ tip ๐Ÿ“Œ
    • ๋ณ€์ˆ˜๋ช… ๋Œ€์ถฉ ์ง“์ง€ ์•Š๊ธฐ
    • ์–ธ์–ด๊ฐ€ ๊ฐ€์ง€๋Š” ๋‚ด์žฅ ํ•จ์ˆ˜, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ ๊ทน ํ™œ์šฉ ํ•˜๊ธฐ
    • ๋ฐ˜๋ณต๋˜๋Š” ์ฝ”๋“œ๋Š” ํ•จ์ˆ˜ํ™”๋ฅผ ํ†ตํ•ด ๊ฐ€๋…์„ฑ ์žˆ๊ฒŒ ์ž‘์„ฑํ•˜๊ธฐ
    • ๋ฉด์ ‘์„ ์œ„ํ•ด ํ’€์ด๋ฅผ ๋‚จ์—๊ฒŒ ์„ค๋ช…ํ•˜๋Š” ์—ฐ์Šต ๋ฐ˜๋“œ์‹œ ํ•„์š”

โœ”๏ธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜

ํ”„๋กœ๊ทธ๋žจ = ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ + ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ฐ์ดํ„ฐ ๊ตฌ์กฐ : ์ €์žฅ

์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์กฐ์ž‘ ๊ณ„์‚ฐ

์ฆ‰ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ์ €์žฅํ•˜๊ณ  + ์กฐํšŒ, ์‚ฝ์ž…, ๋ณ€๊ฒฝ, ์‚ญ์ œ ๊ฐ™์€ ์กฐ์ž‘ ๊ธฐ๋Šฅ ์ œ๊ณต

๋ฐ์ดํ„ฐ ๊ตฌ์กฐ (Container)

  • ๋ฌธ์ œ๋ฅผ ๋” ํšจ์œจ์ ์„ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ
    • ๊ฐ€์žฅ ์›์ดˆ์ ์ธ ๊ฒƒ์€ ๋ณ€์ˆ˜
    • ํ•˜์ง€๋งŒ ๋ฌธ์ œ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋” ์ ํ•ฉํ•œ container๊ฐ€ ์žˆ๋‹ค
  • ๊ตฌ์กฐ๋ฅผ ์•ˆ๋‹ค๋Š” ๊ฒƒ์€, ์–ด๋–ป๊ฒŒ ์ €์žฅํ•˜๊ณ  & ์–ด๋–ป๊ฒŒ ํ™œ์šฉ(์กฐ์ž‘)ํ•  ์ˆ˜

'์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

20230823 [Java] ๋ฌธ์ œํ’€์ด  (0) 2023.08.23
[Java] ๋ฐฑ์ค€ 25556 ํฌ์Šคํƒ  (0) 2023.06.13