์ „์ฒด ๊ธ€

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

[SWEA] 1954 ๋‹ฌํŒฝ์ด ์ˆซ์ž - Java

์‚ผ์„ฑ ๊ธฐ์ถœ์— ์ข…์ข… ๋‚˜์˜จ ์ ์ด ์žˆ๋Š” ๊ตฌํ˜„ ๋ฌธ์ œ. (0, 0)์—์„œ ์‹œ์ž‘ https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&problemLevel=3&problemLevel=4&contestProbId=AV5PobmqAPoDFAUq&categoryId=AV5PobmqAPoDFAUq&categoryType=CODE&problemTitle=&orderBy=SUBMIT_COUNT&selectCodeLang=JAVA&select-1=4&pageSize=10&pageIndex=1 SW Expert Academy SW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”! swexpertacademy.com ๐Ÿ“ ๊ณ ๋ คํ•ด..

Spring Framework/โ˜๏ธ Spring Cloud

[โ˜๏ธ Spring Cloud] MSA์™€ Spring Cloud

์—ฌ๋Ÿฌ ๊ธฐ์—…๋“ค์˜ ์ฑ„์šฉ ๊ณต๊ณ ๋ฅผ ํ™•์ธํ•  ๋•Œ๋งˆ๋‹ค 'MSA' ๊ฐ€ ์–ธ๊ธ‰๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜๋‹ค. MSA๊ฐ€ ๋ฌด์—‡์ด๊ธธ๋ž˜ ๊ธฐ์—…๋งˆ๋‹ค ์–ธ๊ธ‰ํ•˜๋Š” ๋นˆ๋„๊ฐ€ ์žฆ์€์ง€ ํŒŒ์•…ํ•ด๋ณด๊ณ , MSA๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” Spring Cloud์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ๋‹ค.   โ“ Cloud Native Architecture ๋ž€?๐Ÿ”ท ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ๊ตฌ์กฐ์˜ ํŠน์ง• ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์•„ํ‚คํ…์ณ์„œ๋ฒ„ ๊ณ„์† ์„ค์น˜ X โž” ํด๋ผ์šฐ๋“œ ๋‚ด์—์„œ ์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค ๋Š˜๋ ค์„œ ํ™•์žฅ์‹œํ‚ค๊ธฐ (scale out)ํƒ„๋ ฅ์  ์•„ํ‚คํ…์ณ์ˆ˜๋™์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ buildํ•œ ํ›„ ๋ฐฐํฌ X โž” CI/CD๋ฅผ ํ†ตํ•ด ์ž๋™์œผ๋กœ ๋นŒ๋“œ ํ›„ ๋ฐฐํฌ ๐Ÿ‘‰ ๋น„์ฆˆ๋‹ˆ์Šค ํ™˜๊ฒฝ ๋ณ€ํ™”์— ๋Œ€ํ•œ ๋Œ€์‘ ์‹œ๊ฐ„ ๋‹จ์ถ•๋ถ„ํ• ๋œ ๋…๋ฆฝ์ ์ธ ์„œ๋น„์Šค โž” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ๋„๋ฉ”์ธ ํŠน์„ฑ์— ๋”ฐ๋ผ ์„œ๋น„์Šค ๊ฒฝ๊ณ„ ๊ตฌ๋ถ„ ๐Ÿ‘‰ ์„œ๋น„์Šค ์ข…์†์„ฑ ์ตœ์†Œํ™” & ์ƒํƒœ XDiscover..

Spring Framework/๐Ÿ“› ์—๋Ÿฌ ๊ธฐ๋ก

[๐Ÿ“› Error] ๋ฆฌ์•กํŠธ ๋ฐฐํฌ ํ›„ ์ƒˆ๋กœ๊ณ ์นจ ์‹œ 404 Error

๋ฐฐํฌํ•˜๊ณ ์„œ ๋ฌธ์ œ๊ฐ€ ์—†์–ด๋ณด์˜€์œผ๋‚˜, ์ƒˆ๋กœ๊ณ ์นจํ•  ๋•Œ๋งˆ๋‹ค 404 ์—๋Ÿฌ๊ฐ€ ๋œฌ๋‹ค. ๋กœ์ปฌ์—์„œ๋Š” ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ.. ๊ฒ€์ƒ‰ํ•ด๋ณด๋ฉด ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“ค์ด ํ•œ ๋ฒˆ์ฏค์€ ๊ฒช๊ณ  ์ง€๋‚˜๊ฐ„ ์—๋Ÿฌ์ธ ๊ฒƒ ๊ฐ™๋‹ค.  ๐Ÿ‘€ ์—๋Ÿฌ ํŒŒ์•…ํ•˜๊ธฐ  ๋ฆฌ์•กํŠธ์˜ ํŠน์„ฑ์„ ํŒŒ์•…ํ•˜๋ฉด ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€๋‹ค.  ์‚ฌ์šฉ์ž๊ฐ€ ์ฒ˜์Œ ์ ‘์† ํ›„ ์„œ๋ฒ„์— ์š”์ฒญํ•  ์‹œ index.html์„ ๋ณด๋‚ด์ฃผ๋Š”๋ฐ ์ด ํŒŒ์ผ์—๋Š” bundle.js๋‚˜ css ํŒŒ์ผ์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค. html ํŒŒ์ผ์„ ์ฝ์œผ๋ฉด์„œ react-router๊ฐ€ ์ž‘๋™๋˜๋Š”๋ฐ ์„œ๋ฒ„ ์ชฝ์ด ์•„๋‹Œ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ์—์„œ ์ด๋ฃจ์–ด์ง€๋ฉฐ ๋‹จ์ˆœํžˆ ์ฃผ์†Œ๋งŒ ๋ฐ”๊ฟ”์ฃผ๋ฉฐ ๊ฒฝ๋กœ๋ฅผ ์žก์•„์ค€๋‹ค. ์ด๋Ÿฌํ•œ ์ƒํƒœ์—์„œ ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•˜๊ฒŒ ๋˜๋ฉด url์€ react-router์˜ ๊ฒฝ๋กœ๋กœ ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„๋Š” ์–ด๋–ค ๊ฒƒ์„ ๋ฐ˜ํ™˜ํ•ด๋‹ฌ๋ผ๋Š” ๊ฒƒ์ธ์ง€ ์•Œ ์ˆ˜ ์—†์–ด์„œ 404 ์—๋Ÿฌ๊ฐ€..

Spring Framework/๐Ÿ“› ์—๋Ÿฌ ๊ธฐ๋ก

[๐Ÿ“› Error] jar ํŒŒ์ผ๋กœ ๋ฐฐํฌ ์‹œ java.io.FileNotFoundException

๋ฐฐํฌ ์ „์—๋Š” ๊ทธ๋ƒฅ ๋กœ์ปฌ ๊ฒฝ๋กœ ์ฝ์–ด์„œ csv ํŒŒ์ผ์— ์žˆ๋Š” ๋‚ด์šฉ์„ ๊ฐ€์ ธ์˜ค๋„๋ก ํ–ˆ๊ณ , ๊ฒฐ๊ณผ๋„ ์ž˜ ๋‚˜์™”๋‹ค.๋ฐฐํฌํ•  ๋•Œ๋Š” resources์— csv ํŒŒ์ผ ๋„ฃ๊ณ  ๋‚ด๋ถ€ ๋ฆฌ์†Œ์Šค ์ฝ์–ด์„œ ๋ ์ค„ ์•Œ์•˜๊ฑด๋งŒ.. ์‰ฝ๊ฒŒ ๋˜์ง€ ์•Š์•˜๋‹ค.  ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ JAR๋กœ ํŒจํ‚ค์ง•ํ•ด์„œ ์‹คํ–‰์‹œํ‚ค๋ฉด InputStream์„ ์จ์„œ ์ฝ์–ด์™€์•ผ๋œ๋‹ค๊ณ  ํ–ˆ๋‹ค. JAR ์•ˆ์— ๋“ค์–ด์žˆ๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ classpath๋กœ ์ ‘๊ทผํ•ด์„œ ์ฝ์„ ๋•Œ๋Š” ํŒŒ์ผ์‹œ์Šคํ…œ์— ์žˆ๋Š” ํŒŒ์ผ์„ ์ฝ์–ด์˜ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ JAR ์•ˆ์— ์žˆ๋Š” ํŒŒ์ผ์ด๋ฏ€๋กœ getFile()๋กœ ์ฝ์„ ์ˆ˜ ์—†๋‹ค๊ณ  ํ•œ๋‹ค.    ์ˆ˜์ •ํ•˜๊ธฐ ์ „ ์ฝ”๋“œ try (BufferedReader br = new BufferedReader(new FileReader(filePath))) { String line; while ((line ..

Spring Framework

[SpringBoot] SpringBoot + React ๋นŒ๋“œ ๋ฐ ๋ฐฐํฌ ๊ณผ์ •

์Šคํ”„๋ง๋ถ€ํŠธ์— ๋ฆฌ์•กํŠธ๋ฅผ ์—ฐ๋™์‹œํ‚ค๋Š” ๊ณผ์ •๊นŒ์ง€๋Š” ๊ทธ ์ „์— ์ง„ํ–‰ ์™„๋ฃŒ. ๋นŒ๋“œ์™€ ๋ฐฐํฌํ•˜๋Š” ๊ณผ์ • ๊ธฐ๋ก. ๋ฐฐํฌํ•  ์ƒ๊ฐ์ด ์—†์—ˆ๋Š”๋ฐ ํ•ด์•ผํ•˜๋Š” ์ƒํ™ฉ์ด ์™”๊ธฐ์— ์ƒ๋‹นํžˆ ๋ฌด์‹ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ง„ํ–‰ํ–ˆ๋‹ค.. ๊ทธ๋ƒฅ ๋ณ„๋‹ค๋ฅธ ์„ค์ • ์•ˆํ•˜๊ณ  EC2 ์ธ์Šคํ„ด์Šค์— ์„œ๋ฒ„ ๋„์šฐ๋Š” ์ •๋„๋งŒ.. ๋ฌผ๋ก  ์ด๊ฒƒ๋„ ๋ฐฐํฌ์˜ ํ•œ ๊ณผ์ •์ด๊ธด ํ•˜์ง€๋งŒ.. ๊ทธ๋ž˜๋„ ์ดํ‹€๋™์•ˆ ๊ณ ๋ฏผํ•˜๋ฉด์„œ ํ•˜๊ธด ํ–ˆ์œผ๋‹ˆ๊น ๊ธฐ๋กํ•œ๋‹ค. ๐Ÿ“ ๋นŒ๋“œ & ๋ฐฐํฌ ๊ณผ์ • 1. ๋ฆฌ์•กํŠธ & ์Šคํ”„๋ง๋ถ€ํŠธ ํ†ตํ•ฉ ๋นŒ๋“œ (Gradle) 2. ๋ฐฐํฌ (EC2 ์ธ์Šคํ„ด์Šค์— ์„œ๋ฒ„ ๋„์šฐ๊ธฐ) 2-1. MySQL ๋กœ์ปฌ์—์„œ EC2๋กœ dump .. โญ๏ธ ๐Ÿ”ด ํ†ตํ•ฉ ๋นŒ๋“œํ•˜๊ธฐ ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ์‹คํ–‰์‹œํ‚ค๊ณ , ๋ฆฌ์•กํŠธ๋ฅผ npm start๋กœ ๋”ฐ๋กœ ์‹คํ–‰์‹œ์ผฐ๋Š”๋ฐ ํ•œ๋ฒˆ์— ์‹คํ–‰์‹œํ‚ค๊ธฐ ์œ„ํ•ด ํ†ตํ•ฉ ๋นŒ๋“œ๋ฅผ ํ•œ๋‹ค. ์šฐ์„  ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ๋Š” ์ด๋Ÿฌํ•˜๋‹ค. ํ†ตํ•ฉ ๋นŒ๋“œ์‹œํ‚ค๊ธฐ ์ „์— fronte..

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

[BOJ] 4179 ๋ถˆ! - Java

โœจ BFS โž” ๋™์‹œ์— ์ด๋™์‹œํ‚ค๊ธฐ https://www.acmicpc.net/problem/4179 4179๋ฒˆ: ๋ถˆ! ์ž…๋ ฅ์˜ ์ฒซ์งธ ์ค„์—๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋œ ๋‘ ์ •์ˆ˜ R๊ณผ C๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹จ, 1 ≤ R, C ≤ 1000 ์ด๋‹ค. R์€ ๋ฏธ๋กœ ํ–‰์˜ ๊ฐœ์ˆ˜, C๋Š” ์—ด์˜ ๊ฐœ์ˆ˜์ด๋‹ค. ๋‹ค์Œ ์ž…๋ ฅ์œผ๋กœ R์ค„๋™์•ˆ ๊ฐ๊ฐ์˜ ๋ฏธ๋กœ ํ–‰์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ๋ฌธ์ž www.acmicpc.net ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  ๋ถˆ๊ณผ ์ง€ํ›ˆ์ด๋ฅผ ๋™์‹œ์— ์ด๋™์‹œ์ผœ์•ผํ•œ๋‹ค. ๋™์‹œ์— ์ด๋™์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ ๋‘ ๊ฐœ์˜ ํ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋ถˆ์€ ์ง€ํ›ˆ์ด์˜ ์กด์žฌ ์—ฌ๋ถ€์— ๋Œ€ํ•ด ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค. (์ง€ํ›ˆ์ด๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ์—†์–ด๋„ ์–ธ์ œ๋“ ์ง€ ๋ฒฝ๋งŒ ์•„๋‹ˆ๋ผ๋ฉด ์–ธ์ œ๋“ ์ง€ ์ „ํŒŒ ๊ฐ€๋Šฅ) ์ง€ํ›ˆ์ด๋Š” ๋ถˆ์˜ ์กด์žฌ ์—ฌ๋ถ€์— ๋Œ€ํ•ด ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค. (๋ถˆ์ด ์กด์žฌํ•œ๋‹ค๋ฉด ์ด๋™ ๋ถˆ๊ฐ€) ์ง€ํ›ˆ์ด๊ฐ€ ๊ฐ€์žฅ์ž๋ฆฌ์— ๋„๋‹ฌํ•˜๋ฉด ๋ฏธ๋กœ๋ฅผ ํ†ต๊ณผํ•  ..

์•Œ๊ณ ๋ฆฌ์ฆ˜/๐Ÿ—‚๏ธ ์ •๋ฆฌ

MST(์ตœ์†Œ์‹ ์žฅํŠธ๋ฆฌ) - ํฌ๋ฃจ์Šค์นผ & ํ”„๋ฆผ ์•Œ๊ณ ๋ฆฌ์ฆ˜

์ตœ์†Œ์‹ ์žฅํŠธ๋ฆฌ(MST / Minimum Spanning Tree)๋Š” ๋ฐฉํ–ฅ์„ฑ์ด ์—†๋Š” ๊ฐ€์ค‘ ๊ทธ๋ž˜ํ”„์—์„œ ๊ฐ„์„ ์˜ ๊ฐ€์ค‘์น˜์˜ ํ•ฉ์ด ์ตœ์†Œ์ธ ์‹ ์žฅ ํŠธ๋ฆฌ์ด๋‹ค. ๐Ÿ•น๏ธ ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ & ํ”„๋ฆผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณผ์ • ๐Ÿ”น ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ๊ฐ„์„  ์ค‘์‹ฌ์œผ๋กœ ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ ๊ตฌํ•˜๊ธฐ (๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ ๋‹ค๋ฉด ํ”„๋ฆผ๋ณด๋‹ค ํšจ์œจ์  !) ๊ฐ„์„ ๋“ค์˜ ๊ฐ€์ค‘์น˜๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ํ›„ ๊ฐ€์ค‘์น˜๊ฐ€ ๋‚ฎ์€ ๊ฐ„์„ ๋ถ€ํ„ฐ ์„ ํƒํ•œ๋‹ค. ์„ ํƒํ•œ ๊ฐ„์„ ์œผ๋กœ ์ธํ•ด ์‚ฌ์ดํด์ด ํ˜•์„ฑ๋œ๋‹ค๋ฉด ๋‹ค์Œ ๊ฐ„์„ ์œผ๋กœ ๋„˜์–ด๊ฐ€๊ณ , ์‚ฌ์ดํด์ด ํ˜•์„ฑ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ํ•ด๋‹น ๊ฐ„์„ ์„ ์„ ํƒํ•œ๋‹ค. โž” ์‚ฌ์ดํด์ด ํ˜•์„ฑ๋˜๋Š”์ง€ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด Union-Find ์—ฐ์‚ฐ์„ ์ง„ํ–‰ํ•œ๋‹ค. ์ •์ ์ด N๊ฐœ์ธ ๊ทธ๋ž˜ํ”„์ผ ๋•Œ, N-1๊ฐœ์˜ ๊ฐ„์„ ์„ ์„ ํƒํ–ˆ๋‹ค๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ์ข…๋ฃŒํ•œ๋‹ค. ๐Ÿ”น ํ”„๋ฆผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์ •์  ์ค‘์‹ฌ์œผ๋กœ ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ ๊ตฌํ•˜๊ธฐ (์ •์ ์˜ ๊ฐœ์ˆ˜๊ฐ€..

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

[BOJ] 14502 ์—ฐ๊ตฌ์†Œ - Java

โœจ BFS + DFS + ์™„์ „ํƒ์ƒ‰ https://www.acmicpc.net/problem/14502 14502๋ฒˆ: ์—ฐ๊ตฌ์†Œ ์ธ์ฒด์— ์น˜๋ช…์ ์ธ ๋ฐ”์ด๋Ÿฌ์Šค๋ฅผ ์—ฐ๊ตฌํ•˜๋˜ ์—ฐ๊ตฌ์†Œ์—์„œ ๋ฐ”์ด๋Ÿฌ์Šค๊ฐ€ ์œ ์ถœ๋˜์—ˆ๋‹ค. ๋‹คํ–‰ํžˆ ๋ฐ”์ด๋Ÿฌ์Šค๋Š” ์•„์ง ํผ์ง€์ง€ ์•Š์•˜๊ณ , ๋ฐ”์ด๋Ÿฌ์Šค์˜ ํ™•์‚ฐ์„ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ ์—ฐ๊ตฌ์†Œ์— ๋ฒฝ์„ ์„ธ์šฐ๋ ค๊ณ  ํ•œ๋‹ค. ์—ฐ๊ตฌ์†Œ๋Š” ํฌ www.acmicpc.net ๐Ÿ“๊ณ ๋ คํ•ด์•ผํ•  ์  ๋ฒฝ์„ 3๊ฐœ ์„ธ์šด๋‹ค. โž” ์ผ์ผ์ด 3๊ฐœ์˜ ๋ฒฝ์„ ์„ธ์›Œ๋ณธ ํ›„ ๋ฐ”์ด๋Ÿฌ์Šค๋ฅผ ํผ๋œจ๋ ค ์•ˆ์ „์˜์—ญ์ด ์ตœ๋Œ€์ธ ๊ฒฝ์šฐ๋ฅผ ๊ตฌํ•œ๋‹ค. (๋ฐฑํŠธ๋ž˜ํ‚น + ์™„์ „ํƒ์ƒ‰) ๋ฒฝ์„ 3๊ฐœ ์„ธ์šด ํ›„ ๋ฐ”์ด๋Ÿฌ์Šค๊ฐ€ ํผ์ง€๋Š” ๊ฒฝ์šฐ๋Š” ๋‹ค์–‘ํ•˜๋ฏ€๋กœ ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ค์–ด์„œ ๊ตฌํ•œ๋‹ค. ๐Ÿ•น๏ธ ํ’€์ด๊ณผ์ • 1๏ธโƒฃ ๋ฐ”์ด๋Ÿฌ์Šค์™€ ๋ฒฝ์ด ์žˆ๋Š” ๊ณณ์˜ ์ •๋ณด๋ฅผ 2์ฐจ์› ๋ฐฐ์—ด์— ์ €์žฅํ•œ๋‹ค. 2๏ธโƒฃ ๋ฒฝ์„ ์„ธ์šด๋‹ค. โž” 3๊ฐœ์˜ ๋ฒฝ์„ ์„ธ์›Œ์•ผ ํ•˜๋ฏ€๋กœ ์กฐํ•ฉ์„ ์ƒ๊ฐํ•˜๋ฉด ..

soogoori
๐Ÿƒ๐Ÿป‍โ™€๏ธ์Šคํ…๋ฐ”์ด์Šคํ…