[C++] ๊ฐ•ํ•œ ์—ฐ๊ฒฐ ์š”์†Œ(ํƒ€์ž”, ์ฝ”์‚ฌ๋ผ์ฃผ)
ยท
๐Ÿ“ Computer Science/โœ Algorithm
๊ฐ•ํ•œ ์—ฐ๊ฒฐ ์š”์†Œ(Strongly Connected Component) ๋‘ ์ •์ ์— ๋Œ€ํ•ด ์–‘๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ ๊ฐ€๋Šฅํ•œ ๊ฒฝ๋กœ๊ฐ€ ๋ชจ๋‘ ์žˆ์„ ๋•Œ ๋‘ ์ •์ ์€ ๊ฐ™์€ ๊ฐ• ๊ฒฐํ•ฉ ์ปดํฌ๋„ŒํŠธ(SCC)์— ์†ํ•œ๋‹ค. ์ฆ‰, ๊ทธ๋ž˜ํ”„์˜ ์‚ฌ์ดํด์—์„œ ๊ฐ™์€ ์‚ฌ์ดํด ๋‚ด์— ์กด์žฌํ•˜๋Š” ์ •์ ๋“ค์€ ๊ฐ™์€ SCC์— ์†ํ•œ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์—์„œ๋งŒ ์ •์˜๋œ๋‹ค. 1. ํƒ€์ž” ์•Œ๊ณ ๋ฆฌ์ฆ˜ 1) ๊ธฐ๋ณธ ์›๋ฆฌ ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰ ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์˜ ์ •์ ๋“ค์„ ๋ฐฉ๋ฌธํ•œ ํ›„ ๋ฐฉ๋ฌธํ•œ ์ •์ ์˜ ๊ฐ„์„ ์„ ํ†ตํ•ด ์ƒ์œ„์—์„œ ๋ฐฉ๋ฌธ๋œ ์ •์ ์„ ๋ฐฉ๋ฌธํ•œ๋‹ค๋ฉด SCC๊ฐ€ ์กด์žฌํ•œ๋‹ค๊ณ  ํŒ๋‹จํ•œ๋‹ค. 2) ๋ฌธ์ œ https://www.acmicpc.net/problem/2150 2150๋ฒˆ: Strongly Connected Component ์ฒซ์งธ ์ค„์— ๋‘ ์ •์ˆ˜ V(1 ≤ V ≤ 10,000), E(1 ≤ E ≤ 100,00..
[Spring][ํ˜ผ๊ณต] 3. ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค์–ด๋ณด๊ธฐ - ๊ธฐ๋ณธ ์„ค์ • (2)
ยท
๐Ÿ“ Language/โœ JAVA
ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค์–ด๋ณด๊ธฐ 1. ๊ธฐ๋ณธ ์„ค์ • 4) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฒ˜์Œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์„ ํƒํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” 2๊ฐ€์ง€์ด๋‹ค. spring web: ์›น ํ”„๋กœ์ ํŠธ thymeleaf: HTML ๋งŒ๋“ค์–ด์ฃผ๋Š” ํ…œํ”Œ๋ฆฟ ์—”์ง„ test: ์ž๋™์œผ๋กœ ์ถ”๊ฐ€๋˜๋Š” Test ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ”„๋กœ์ ํŠธ์— ์‚ฌ์šฉ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ 3๊ฐ€์ง€๋ฐ–์— ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ, ์‹ค์ œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋“ค์–ด๊ฐ€ ๋ณด๋ฉด ์ˆ˜๋งŽ์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด ์žˆ๋‹ค. ์™œ ์ด๋ ‡๊ฒŒ ๋งŽ์„๊นŒ? ๊ทธ๋ž˜๋“ค๊ณผ ๊ฐ™์€ ๋นŒ๋“œ ๋„๊ตฌ๋Š” ์˜์กด ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ•จ๊ป˜ ๋‹ค์šด๋กœ๋“œํ•œ๋‹ค. ์–ด๋–ค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ด€๋ จ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ๋˜ ์–ด๋–ค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ด€๋ จ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ... ์ด ์ž‘์—…์„ ๋ฐ˜๋ณตํ•˜์—ฌ ์ˆ˜๋งŽ์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ์ง€๊ฒŒ ๋œ๋‹ค. spring-boot-starter-web spring-boot-starter-tomcat: ๋‚ด์žฅ ์›น์„œ..
[Spring][ํ˜ผ๊ณต] 3. ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค์–ด๋ณด๊ธฐ - ๊ธฐ๋ณธ ์„ค์ • (1)
ยท
๐Ÿ“ Language/โœ JAVA
2021.05.29 - [๐Ÿ“ Language/โœ JAVA] - [ํ˜ผ๊ณต][Spring] 1. ์ค€๋น„ [ํ˜ผ๊ณต][Spring] 1. ์ค€๋น„ ์›๋ž˜ ์›น์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋ถ„์•ผ(๊ฒŒ์ž„)์—์„œ ๊ฐœ๋ฐœ์„ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ์ด๋ฒˆ์— ์›น, ํŠนํžˆ Back End ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉฐ ์–ด๋–ป๊ฒŒ ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋Š”์ง€ ๊ธฐ๋ก ๋ชฉ์ ์œผ๋กœ ์ฐจ๋ก€์ฐจ๋ก€ ์ž‘์„ฑํ•˜๋ ค ํ•œ๋‹ค. ๋จผ์ €, ์ž๋ฐ”์—์„œ ๊ฐ€์žฅ ๋Œ€์ค‘ tech-interview.tistory.com ์ธํ”„๋Ÿฐ ๊ฐ•์˜ IDE: ์ธํ…”๋ฆฌJ ๋นŒ๋“œ ๋„๊ตฌ: ๊ทธ๋ž˜๋“ค ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค์–ด๋ณด๊ธฐ 1. ๊ธฐ๋ณธ ์„ค์ • 1) ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์˜ˆ์ „ ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค ๋•Œ๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค ๋งŒ๋“ค์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ตœ๊ทผ ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ ๋‹ค. ์•„๋ž˜ ์‚ฌ์ดํŠธ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์‚ฌ์ดํŠธ์ด๋‹ค. ์Šคํ”„๋ง ๋ถ€ํŠธ ์Šคํƒ€ํ„ฐ Proje..
[Spring][ํ˜ผ๊ณต] 2. ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ - ๊ณ ์ณ๋ณด๊ธฐ (2)
ยท
๐Ÿ“ Language/โœ JAVA
์˜ˆ์ œ ํ”„๋กœ์ ํŠธ 2. ๊ณ ์ณ๋ณด๊ธฐ 1) ๊ฒ€์ƒ‰ ๊ธฐ๋ณธ์ ์ธ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์€ Last Name์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๊ณ  ์•„๋ฌด ๊ฐ’๋„ ์ž…๋ ฅํ•˜์ง€ ์•Š์œผ๋ฉด ์ „์ฒด ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. ์ด ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ First Name์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝํ•  ๊ฒƒ์ด๋‹ค. ๋จผ์ €, ๊ฒ€์ƒ‰ํ•˜๋Š” ํ™”๋ฉด(View)์—์„œ ๋ณด์—ฌ์ฃผ๋Š” ํ…์ŠคํŠธ์™€ ์ž…๋ ฅ ๊ฐ’์„ First Name์œผ๋กœ ๋‹ค ๋ณ€๊ฒฝํ•ด์ค€๋‹ค. Controller๋ฅผ First Name์œผ๋กœ ์ˆ˜์ •ํ•˜๊ณ  DB ๊ฒ€์ƒ‰์— First Name์„ ์ฐพ์•„์˜ค๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. ์ด์ œ ๋‹ค์‹œ ์›น์‚ฌ์ดํŠธ๋ฅผ ํ™•์ธํ•ด๋ณด์ž. First Name์œผ๋กœ ๊ฒ€์ƒ‰ํ•ด๋„ ๊ฒฐ๊ณผ ๊ฐ’์ด ์ž˜ ๋‚˜์˜ค๊ณ  ์žˆ๋‹ค. 2) ๊ณ ๊ธ‰ ๊ฒ€์ƒ‰ ํ˜„์žฌ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์€ ๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ์™€ ๊ฐ’์˜ ์•ž๋ถ€๋ถ„์ด ์™„๋ฒฝํžˆ ๋งค์นญ ๋˜์–ด์•ผ ๊ฒ€์ƒ‰์ด ๋˜๊ณ  ์žˆ๋‹ค. ๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ๊ฐ€ ํฌํ•จ๋˜๊ธฐ๋งŒ ํ•ด๋„ ๊ฒ€์ƒ‰์ด ๋˜๋„๋ก ์ˆ˜์ •ํ•ด๋ณด์ž. ๋น„๊ต์  ๊ฐ„๋‹จํ•œ๋ฐ..
[Spring][ํ˜ผ๊ณต] 2. ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ - ์‚ดํŽด๋ณด๊ธฐ (1)
ยท
๐Ÿ“ Language/โœ JAVA
2021.05.29 - [๐Ÿ“ Language/โœ JAVA] - [ํ˜ผ๊ณต][Spring] 1. ์ค€๋น„ [ํ˜ผ๊ณต][Spring] 1. ์ค€๋น„ ์›๋ž˜ ์›น์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋ถ„์•ผ(๊ฒŒ์ž„)์—์„œ ๊ฐœ๋ฐœ์„ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ์ด๋ฒˆ์— ์›น, ํŠนํžˆ Back End ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉฐ ์–ด๋–ป๊ฒŒ ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋Š”์ง€ ๊ธฐ๋ก ๋ชฉ์ ์œผ๋กœ ์ฐจ๋ก€์ฐจ๋ก€ ์ž‘์„ฑํ•˜๋ ค ํ•œ๋‹ค. ๋จผ์ €, ์ž๋ฐ”์—์„œ ๊ฐ€์žฅ ๋Œ€์ค‘ tech-interview.tistory.com ์œ ํŠœ๋ธŒ ๊ฐ•์˜ IDE: ์ดํด๋ฆฝ์Šค ๋นŒ๋“œ ๋„๊ตฌ: ๋ฉ”์ด๋ธ ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ 1. ์‚ดํŽด๋ณด๊ธฐ 1) ์ค€๋น„ ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ Pet Clinic https://github.com/spring-projects/spring-petclinic spring-projects/spring-petclinic A sample Spring-based applicatio..
[Spring][ํ˜ผ๊ณต] 1. ์ค€๋น„
ยท
๐Ÿ“ Language/โœ JAVA
์ค€๋น„ ์›๋ž˜ ์›น์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋ถ„์•ผ(๊ฒŒ์ž„)์—์„œ ๊ฐœ๋ฐœ์„ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ์ด๋ฒˆ์— ์›น, ํŠนํžˆ Back End ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉฐ ์–ด๋–ป๊ฒŒ ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋Š”์ง€ ๊ธฐ๋ก ๋ชฉ์ ์œผ๋กœ ์ฐจ๋ก€์ฐจ๋ก€ ์ž‘์„ฑํ•˜๋ ค ํ•œ๋‹ค. ๋จผ์ €, ์ž๋ฐ”์—์„œ ๊ฐ€์žฅ ๋Œ€์ค‘์ ์ด๊ณ  ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค๋Š” Spring์„ ๊ณต๋ถ€ํ•  ๊ฒƒ์ด๋‹ค. ์œ ํŠœ๋ธŒ ๊ฐ•์˜๋‚˜ ์ธํ”„๋Ÿฐ ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ์ „์ฒด์ ์ธ ํ•ต์‹ฌ ๊ฐœ๋… ์ •๋„๋งŒ ๊ณต๋ถ€๋ฅผ ํ•œ ๋’ค ์ฑ…์„ ํ†ตํ•ด ์ข€ ๋” ์‹ฌํ™” ๊ฐœ๋…์„ ๊ณต๋ถ€ํ•  ๊ฒƒ์ด๋‹ค. 1. ํ•„์š”ํ•œ ์‚ฌ์ „ ์ง€์‹ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์‚ฌ์šฉํ•œ ๋ฒ„์ „์€ 11์ด๊ณ  'ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๋Š” ์ž๋ฐ”'๋ผ๋Š” ์ฑ…์„ ํ†ตํ•ด ๊ธฐ๋ณธ์ ์ธ ๊ฐœ๋…๋งŒ ๊ณต๋ถ€ํ–ˆ๋‹ค. ์•„์ง ์ž๋ฐ”๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•œ ๊ฒฝํ—˜๋„ ์—†๊ณ  ๋งŽ์ด ์จ๋ณด์ง€๋„ ์•Š์•„์„œ ๋ถ€์กฑํ•œ ์ ์ด ๋งŽ์ง€๋งŒ, ์ฐจ๊ทผ์ฐจ๊ทผ ๊ณต๋ถ€ํ•˜๊ธฐ์—” ์‹œ๊ฐ„๋„ ๋ถ€์กฑํ•˜๊ณ  ๋นจ๋ฆฌ ์‹ค์ „ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๊ณ  ์‹ถ๊ธฐ์— Spring์„ ์จ๋ณด๋ฉฐ ํ•จ๊ป˜ ๊ฒฝํ—˜์„ ์Œ“์„ ์ƒ๊ฐ..