์ „์ฒด ๊ธ€

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

LIS (์ตœ์žฅ์ฆ๊ฐ€๋ถ€๋ถ„์ˆ˜์—ด)

LIS(Longest Increasing Subsequence)๋Š” ์›์†Œ๊ฐ€ n๊ฐœ์ธ ๋ฐฐ์—ด์—์„œ ์ผ๋ถ€ ์›์†Œ๋ฅผ ๊ณจ๋ผ๋‚ด์–ด ๋งŒ๋“  ๋ถ€๋ถ„ ์ˆ˜์—ด ์ค‘์—์„œ ๋ชจ๋“  ์›์†Œ๋“ค์ด ์ด์ „ ์›์†Œ๋ณด๋‹ค ํฌ๋‹ค๋Š” ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๊ณ  ๊ทธ ๊ธธ์ด๊ฐ€ ์ตœ๋Œ€์ธ ๋ถ€๋ถ„ ์ˆ˜์—ด์ด๋‹ค. ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด์ž. A = {10, 20, 10, 30, 20, 50}์ธ ์ˆ˜์—ด์—์„œ ์›์†Œ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์€ {10, 20}, {20, 30, 50}, {10, 30, 50} ๋“ฑ์ด ์žˆ๋Š”๋ฐ, ๊ทธ ์ค‘ ๊ธธ์ด๊ฐ€ ์ตœ๋Œ€์ธ ๋ถ€๋ถ„ ์ˆ˜์—ด์€ ๊ธธ์ด๊ฐ€ 4์ธ {10, 20, 30, 50}์ด๋‹ค. ๋Œ€ํ‘œ ๋ฌธ์ œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. https://www.acmicpc.net/problem/11053 11053๋ฒˆ: ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด ์ˆ˜์—ด A๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค..

Spring Framework/โ˜๏ธ Spring Cloud

[Spring Cloud] Microservices๊ฐ„์˜ ํ†ต์‹  - RestTemplate & FeignClient

Microservices๊ฐ„์˜ ํ†ต์‹ ํ•˜๊ธฐ ํด๋ผ์ด์–ธํŠธ๊ฐ€ user-service์—์„œ userId๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์š”์ฒญํ–ˆ์„ ์‹œ ์‚ฌ์šฉ์ž์˜ ์ฃผ๋ฌธ์ด๋ ฅ๊นŒ์ง€ ๊ฐ€์ ธ์™€์•ผํ•˜๋Š” ์ƒํ™ฉ์„ ๊ฐ€์ •ํ•ด๋ณด๋ฉด, ์š”์ฒญํ–ˆ๋˜ userId ๊ฐ’์„ order-service์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌํ•ด์„œ ์—”๋“œํฌ์ธํŠธ๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ์ฃผ๋ฌธ์ด๋ ฅ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. RestTemplate๊ณผ FeignClient๋ฅผ ์ด์šฉํ•ด ํ•ด๋‹นํ•˜๋Š” ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์™€๋ณด์ž. RestTemplate RestTemplate์€ http ํ†ต์‹ ์„ ์œ ์šฉํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์Šคํ”„๋ง์—์„œ ์ œ๊ณตํ•˜๋Š” ํ…œํ”Œ๋ฆฟ์ด๋‹ค. Spring 5.0 ์ดํ›„๋ถ€ํ„ฐ ๋ ˆ๊ฑฐ์‹œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๊ฐ„์ฃผ๋˜์—ˆ๋‹ค. 1๏ธโƒฃ user-service์— RestTemplate์„ Spring Bean์œผ๋กœ ๋“ฑ๋ก @SpringBootApplication @Ena..

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

[BOJ] 1018 ์ฒด์ŠคํŒ ๋‹ค์‹œ ์น ํ•˜๊ธฐ - Java

โœจ ๋ธŒ๋ฃจํŠธํฌ์Šค โž” ์™„์ „ํƒ์ƒ‰ https://www.acmicpc.net/problem/1018 1018๋ฒˆ: ์ฒด์ŠคํŒ ๋‹ค์‹œ ์น ํ•˜๊ธฐ ์ฒซ์งธ ์ค„์— N๊ณผ M์ด ์ฃผ์–ด์ง„๋‹ค. N๊ณผ M์€ 8๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๋ณด๋“œ์˜ ๊ฐ ํ–‰์˜ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. B๋Š” ๊ฒ€์€์ƒ‰์ด๋ฉฐ, W๋Š” ํฐ์ƒ‰์ด๋‹ค. www.acmicpc.net ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  ์ฃผ์–ด์ง„ ์ฒด์ŠคํŒ์„ 8x8 ํฌ๊ธฐ์˜ ์ฒด์ŠคํŒ์œผ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. ํฐ์ƒ‰๊ณผ ๊ฒ€์€์ƒ‰์ด ๋ฒˆ๊ฐˆ์•„์„œ ์น ํ•ด์ ธ์žˆ์–ด์•ผ ํ•œ๋‹ค. (0, 0)์ด ๊ฒ€์€์ƒ‰์ธ ๊ฒฝ์šฐ์™€ ํฐ์ƒ‰์ธ ๊ฒฝ์šฐ๋ฅผ ๋‚˜๋ˆ„์–ด์„œ ๊ตฌํ•œ๋‹ค. ๊ฐ€๋กœ, ์„ธ๋กœ ์ธ๋ฑ์Šค ๊ฐ’์˜ ํ•ฉ์ด ์ง์ˆ˜, ํ™€์ˆ˜์— ๋”ฐ๋ผ ํฐ์ƒ‰์ธ์ง€ ๊ฒ€์€์ƒ‰์ธ์ง€ ๊ตฌ๋ถ„ํ•ด์„œ ๊ตฌํ•œ๋‹ค. ๐Ÿ•น๏ธ ํ’€์ด ๊ณผ์ • 1๏ธโƒฃ ์ฃผ์–ด์ง„ ์ฒด์ŠคํŒ์„ 8x8 ํฌ๊ธฐ๋กœ ๋‹ค์‹œ ๋งŒ๋“ค์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— copy๋ฐฐ์—ด์„ ..

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

[BOJ] 1504 ํŠน์ •ํ•œ ์ตœ๋‹จ ๊ฒฝ๋กœ - Java

โœจ ๋‹ค์ต์ŠคํŠธ๋ผ โž” ์ตœ๋‹จ๊ฒฝ๋กœ https://www.acmicpc.net/problem/1504 1504๋ฒˆ: ํŠน์ •ํ•œ ์ตœ๋‹จ ๊ฒฝ๋กœ ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ N๊ณผ ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ E๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ E๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ์„œ ์„ธ ๊ฐœ์˜ ์ •์ˆ˜ a, b, c๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ, a๋ฒˆ ์ •์ ์—์„œ b๋ฒˆ ์ •์ ๊นŒ์ง€ ์–‘๋ฐฉํ–ฅ ๊ธธ์ด ์กด www.acmicpc.net ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  ๋ฐฉํ–ฅ์ด ์—†๋Š” ๊ทธ๋ž˜ํ”„์ด๋‹ค. 1๋ฒˆ ์ •์ ์—์„œ N๋ฒˆ ์ •์ ์œผ๋กœ ์ตœ๋‹จ๊ฑฐ๋ฆฌ๋กœ ์ด๋™ํ•œ๋‹ค. ์ฃผ์–ด์ง„ ๋‘ ์ •์ ์„ ๋ฐ˜๋“œ์‹œ ๊ฑฐ์ณ์•ผ ํ•œ๋‹ค. ๋‘ ์ •์ ์ด v1, v2๋ผ๋ฉด 1 โž” v1 โž” v2 โž” N ๋˜๋Š” 1 โž” v2 โž” v1 โž” N ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ๐Ÿ•น๏ธ ํ’€์ด ๋ฐฉ๋ฒ• 1๏ธโƒฃ ๋…ธ๋“œ์— ๋Œ€ํ•œ ์ •๋ณด (์ด๋™ํ•ด์•ผํ•˜๋Š” ๋…ธ๋“œ = v, ํ•ด..

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

[BOJ] 18352 ํŠน์ • ๊ฑฐ๋ฆฌ์˜ ๋„์‹œ ์ฐพ๊ธฐ - Java

โœจ ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ โœจ BFS, ๋‹ค์ต์ŠคํŠธ๋ผ โž” ์ตœ๋‹จ ๊ฒฝ๋กœ ์ฐพ๊ธฐ https://www.acmicpc.net/problem/18352 18352๋ฒˆ: ํŠน์ • ๊ฑฐ๋ฆฌ์˜ ๋„์‹œ ์ฐพ๊ธฐ ์ฒซ์งธ ์ค„์— ๋„์‹œ์˜ ๊ฐœ์ˆ˜ N, ๋„๋กœ์˜ ๊ฐœ์ˆ˜ M, ๊ฑฐ๋ฆฌ ์ •๋ณด K, ์ถœ๋ฐœ ๋„์‹œ์˜ ๋ฒˆํ˜ธ X๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ์„œ ๋‘ ๊ฐœ www.acmicpc.net ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  ์ถœ๋ฐœ ๋„์‹œ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์ตœ๋‹จ ๊ฑฐ๋ฆฌ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์กด์žฌํ•œ๋‹ค. โž” ํ•ด๋‹นํ•˜๋Š” ์ตœ๋‹จ ๊ฑฐ๋ฆฌ์ธ ๋„์‹œ๋ฅผ ์ฐพ์œผ๋ฉด ๋œ๋‹ค. ํ•˜๋‚˜์˜ ๋„์‹œ์—์„œ ๋‹ค๋ฅธ ๋ชจ๋“  ๋„์‹œ๊นŒ์ง€์˜ ์ตœ๋‹จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•œ๋‹ค. ๋„์‹œ๊ฐ„์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ๋ชจ๋‘ 1์ด๊ธฐ ๋•Œ๋ฌธ..

Spring Framework/โ˜๏ธ Spring Cloud

[Spring Cloud] Spring Cloud Bus์™€ RabbitMQ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Config ์ •๋ณด ๋ฐ˜์˜ํ•˜๊ธฐ

Configuration ์„œ๋ฒ„์—์„œ ์–ด๋– ํ•œ ๊ฐ’์„ ๋ณ€๊ฒฝ์‹œ์ผฐ์„ ๋•Œ microservices์— ๋ฐ˜์˜์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ ์ด์ „์—๋Š” actuator๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ๊ฐ๊ฐ์˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋งˆ๋‹ค ์ˆ˜๋™์œผ๋กœ refresh ์‹œ์ผœ์ฃผ์–ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋‹นํžˆ ๋ฒˆ๊ฑฐ๋กญ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์„ ๊ฐœ์„ ์‹œ์ผœ์ฃผ๋Š” ๊ฒƒ์ด Spring Cloud Bus ์ด๋‹ค. โ“Spring Cloud Bus๋ž€ ? ๋ถ„์‚ฐ์‹œ์Šคํ…œ์˜ ๋…ธ๋“œ(microservice)๋ฅผ ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค(RabbitMQ)์™€ ์—ฐ๊ฒฐํ•˜์—ฌ ์ƒํƒœ ๋ฐ ๊ตฌ์„ฑ์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ์—๊ฒŒ ์ „๋‹ฌํ•ด์ฃผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค. ๐Ÿ’ก ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค๋ž€? ๐Ÿ‘‰ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ์‹œ์Šคํ…œ ๋ฐ ์„œ๋น„์Šค๊ฐ€ ์„œ๋กœ ๊ฐ„์— ํ†ต์‹ ํ•˜๊ณ  ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๊ฒ€์ฆ, ์ €์žฅ, ๋ผ์šฐํŒ…ํ•˜..

Spring Framework/โ˜๏ธ Spring Cloud

[โ˜๏ธ Spring Cloud] Spring Cloud Config ๊ฐœ๋… ๋ฐ ์ ์šฉ ๋ฐฉ๋ฒ•

๊ฐ๊ฐ์˜ Microservice๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋Š” ๊ตฌ์„ฑ์ •๋ณด ํŒŒ์ผ(.yml)๋“ค์ด ์ˆ˜์ •๋œ๋‹ค๋ฉด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž์ฒด๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œํ•˜๊ณ  ๋ฐฐํฌํ•ด์•ผํ•œ๋‹ค.  ์ด์™€ ๊ฐ™์€ ๋ฒˆ๊ฑฐ๋กœ์›€์„ ๋œ์–ด๋‚ด๊ธฐ ์œ„ํ•ด ๊ตฌ์„ฑ์ •๋ณด ํŒŒ์ผ์„ ์™ธ๋ถ€๋กœ ๋ถ„๋ฆฌ์‹œํ‚จ๋‹ค๋ฉด ๊ฐœ๋ฐœ, ํ…Œ์ŠคํŠธ, ์šด์˜ ํ™˜๊ฒฝ์—์„œ๊นŒ์ง€ ๋ชจ๋“  ํ™˜๊ฒฝ ๊ตฌ์„ฑ์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์„ค์ •์„ ์œ„ํ•œ ์„œ๋ฒ„๋ฅผ ๋ณ„๋„๋กœ ๊ตฌ์„ฑํ•˜๊ณ  ์‹คํ–‰ ์ค‘์ธ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์„œ๋ฒ„์—์„œ ์„ค์ • ์ •๋ณด๋ฅผ ํŒŒ์•…ํ•ด ๊ฐฑ์‹ ์‹œํ‚ค๋ฉด ๋นŒ๋“œ์™€ ๋ฐฐํฌ ์—†์ด ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค ! โ“ Spring Cloud Config ๋ž€?Spring Cloud Config๋Š” ๋ถ„์‚ฐ์‹œ์Šคํ…œ์—์„œ ์„œ๋ฒ„, ํด๋ผ์ด์–ธํŠธ ๊ตฌ์„ฑ์— ํ•„์š”ํ•œ ์„ค์ •์ •๋ณด(application.yml)๋ฅผ ์™ธ๋ถ€์—์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ด์ฃผ๋Š” ์‹œ์Šคํ…œ์ด๋‹ค.  ์ค‘์•™ํ™”๋œ ์ €์žฅ์†Œ์—์„œ ๊ด€๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ™˜๊ฒฝ์„ค์ •์„ ์ผ๊ด„์ ์œผ๋กœ ๊ด€..

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

[SWEA] 2814 ์ตœ์žฅ๊ฒฝ๋กœ - Java

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

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