๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ46

[๋ฐฑ์ค€] 1436. ์˜ํ™”๊ฐ๋… ์Š˜ ๋ฌธ์ œ ํ’€์ด ์ฐพ์€ ๊ทœ์น™์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. prefix๋ฅผ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์œ ์ง€ํ•˜๊ณ  1์‚ฌ์ดํด์ด ๋๋‚˜๋ฉด prefix๋ฅผ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. ์ฒ˜์Œ 0~5๊นŒ์ง€๋Š” prefix์™€ 666์‚ฌ์ด์— ๋ถ™ํžŒ๋‹ค. ex) 1666, 2666, 11666 prefix 6์ด ๋‚˜์˜ค๋ฉด ๋’ค์—์„œ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์กฐํ•ฉ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚จ ex) prefix 1 => ๋’ค์— 10๊ฐœ / prefix 16 ⇒ ๋’ค์— 100๊ฐœ / prefix 166 ⇒ ๋’ค์— ์กฐํ•ฉ 1000๊ฐœ ๊ฒฐ๋ก ์€ 1์‚ฌ์ดํด์€ 6 + (10^prefix์˜ 6์˜ ๊ฐœ์ˆ˜) + 3 ์˜ ๊ทœ์น™์„ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค. ๋‹ค ํ‘ผ๋’ค์— ์ƒ๊ฐํ•ด๋ณด๋‹ˆ Input์ด ์ž‘์•„์„œ 1๋ถ€ํ„ฐ ๋ชจ๋“  ์ˆ˜๋ฅผ ๋Œ๋ฉฐ 666์ด ํฌํ•จ๋  ๊ฒฝ์šฐ ์นด์šดํŠธ ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ๊ฐ€๋Šฅํ•  ๊ฒƒ ๊ฐ™๋‹ค. import java.util.Scanner; public class Solution .. 2021. 2. 3.
[๋ฐฑ์ค€] 1018. ์ฒด์ŠคํŒ ๋‹ค์‹œ ์น ํ•˜๊ธฐ ๋ฌธ์ œ ํ’€์ด ์ฒ˜์Œ์—๋Š” ์ž…๋ ฅ์˜ ํฌ๊ธฐ๋ฅผ ์ฃผ์˜๊นŠ๊ฒŒ ๋ณด์ง€ ์•Š์•„์„œ ์™„์ „ํƒ์ƒ‰์˜ ๋ฐฉ์‹์„ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์•„๋ฌด๋ฆฌ ์ƒ๊ฐํ•ด๋ด๋„ ๋– ์˜ค๋ฅด์ง€ ์•Š์•„์„œ ์ฒœ์ฒœํžˆ ๋‹ค์‹œ ์ƒ๊ฐํ•ด๋ดค๋Š”๋ฐ N๊ณผ M์˜ ๋ฒ”์œ„๊ฐ€ 50์ด๊ณ  ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  8x8 ์ •์‚ฌ๊ฐํ˜•์„ ๊ฒ€์‚ฌํ•˜๋”๋ผ๋„ ์ถฉ๋ถ„ํžˆ ์ปค๋ฒ„ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ด์„œ ์™„์ „ํƒ์ƒ‰์œผ๋กœ ํ’€์—ˆ๋‹ค. ์™„์ „ํƒ์ƒ‰์„ ํ•  ๋•Œ, ์ฒ˜์Œ ์‹œ์ž‘์ด W์ธ ๊ฒฝ์šฐ์™€ B์ธ ๊ฒฝ์šฐ ๋ชจ๋‘ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ–ˆ๋‹ค. ์กฐ๊ธˆ ํ—ค๋งธ๋˜ ๋ถ€๋ถ„์€ prev๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ prev์™€ ํ˜„์žฌ ๊ฐ’์ด ๊ฐ™์œผ๋ฉด ์นด์šดํŠธ๋ฅผ ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ–ˆ๋Š”๋ฐ ์ค„์ด ๋ฐ”๋€” ๋•Œ๋งˆ๋‹ค prev์˜ ๊ฐ’์ด ํ•œ ๋ฒˆ ๋” ๋ณ€๊ฒฝ๋˜์–ด์•ผ ํ•˜๋Š” ๋ถ€๋ถ„์ด์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ฒ˜์Œ ํ–‰์„ ์ œ์™ธํ•œ ๋ชจ๋“  ํ–‰์˜ ์ฒซ ์—ด์€ prev๋ฅผ ํ•œ ๋ฒˆ ๋” ๋ณ€๊ฒฝํ•ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ๊ตฌํ˜„ ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. import java.io.BufferedR.. 2021. 2. 2.
[๋ฐฑ์ค€] 2146. ๋‹ค๋ฆฌ ๋งŒ๋“ค๊ธฐ ๋ฌธ์ œ ํ’€์ด ๋จผ์ € ๊ฐ ์„ฌ์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด 1์ด ์•„๋‹Œ ์ˆ˜(2,3,4...)๋กœ ์ดˆ๊ธฐํ™” ์‹œ์ผœ์ฃผ์—ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ฐ ์„ฌ๋งˆ๋‹ค ํƒ์ƒ‰์„ ์ง„ํ–‰ํ•จ์— ์žˆ์–ด ์‹œ์ž‘ ์ง‘ํ•ฉ์„ ์„ฌ์˜ ๊ฒฝ๊ณ„ (์ฃผ์œ„์— 0์ด ์กด์žฌํ•˜๋Š” ์นธ)๋ฅผ ์žก๊ณ  ๋‹ค๋ฅธ ์„ฌ์„ ๋งŒ๋‚˜๊ธฐ ์ „๊นŒ์ง€ bfs๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด์„œ ์ตœ์†Œ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ–ˆ๋‹ค. ์—ฌ๊ธฐ์„œ distance๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ์‹œ์ ์— ๋Œ€ํ•ด์„œ ๊ณ ๋ฏผ์„ ๋งŽ์ด ํ–ˆ๋Š”๋ฐ ์•„๋ž˜ ์ฝ”๋“œ์ฒ˜๋Ÿผ BFS์˜ Level์„ ํŒ๋‹จํ•˜๊ธฐ ์œ„ํ•ด ์ดˆ๊ธฐ bounday์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ๊ตฌํ•˜๊ณ  ์ด์— ๋Œ€ํ•ด์„œ ๋ฐ˜๋ณต๋ฌธ์„ ๋„๋Š” ๋ฐฉ์‹์œผ๋กœ Level์„ ํŒ๋‹จํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ดˆ๊ธฐ ํ’€์ด๋Š” 50%๊ฐ€ ๋„˜์–ด๊ฐˆ ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”๋ฐ, BFS๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ visited๋ฅผ ์ฒดํฌํ•˜์ง€ ์•Š์•„์„œ ๋งŽ์€ ์ค‘๋ณต์ด ๋ฐœ์ƒํ–ˆ๋˜ ๊ฒƒ์ด ๋ฌธ์ œ์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  visited๋ฅผ ๊ฐฑ์‹ ํ•˜๋Š” ์œ„์น˜๊ฐ€ current์˜ ์‹œ์ ์—์„œ .. 2021. 2. 2.
[Kubernetes Best Practice] 2. ๊ฐœ๋ฐœ์ž ์›Œํฌํ”Œ๋กœ ์ด ๊ธ€์€ Kubernetes Best Practice๋ฅผ ์ฝ๊ณ  ๊ฐœ์ธ์ ์œผ๋กœ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๋ถ€๋ถ„๊ณผ ์ž˜ ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ž‘์„ฑํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๋‚ด์šฉ์€ ์ฑ…์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑํ•˜์˜€์œผ๋ฉฐ ์ž์„ธํ•œ ๋‚ด์šฉ์ด ๊ถ๊ธˆํ•˜์‹  ๋ถ„๋“ค์€ ์ฑ…์„ ๊ตฌ๋งคํ•ด์„œ ์ฝ๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ตœ๊ทผ ์„œ๋น„์Šค ๋ฉ”์‹œ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฑฐ๋‚˜ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ๋งŽ์ด ๋“ค์—ˆ๋˜ ์ƒ๊ฐ์€ ์ด ๋ฐฉ๋ฒ•์ด ์ตœ์„ ์ธ๊ฐ€? ๋ผ๋Š” ์ƒ๊ฐ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ๊ถ๊ธˆ์ฆ์„ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ ๋„์›€์ด ๋ ๋งŒํ•œ ์ฑ…์„ ๋ฐœ๊ฒฌํ•ด์„œ ์ฝ์–ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ๋‹จ๊ณ„์—์„œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ™œ์šฉ Kubernetes๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐฐํฌ ๋ฐ ๊ด€๋ฆฌ ์ธก๋ฉด์—์„œ ๋งŽ์€ ์ด์ ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Controller๋ฅผ ํ†ตํ•œ Reconcile ๋กœ์ง ์ˆ˜ํ–‰, Deployment๋ฅผ ํ†ตํ•œ Ro.. 2021. 1. 31.
[Kubernetes Best Practice] 1. ๊ธฐ๋ณธ ์„œ๋น„์Šค ์„ค์น˜ ์ด ๊ธ€์€ Kubernetes Best Practice๋ฅผ ์ฝ๊ณ  ๊ฐœ์ธ์ ์œผ๋กœ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๋ถ€๋ถ„๊ณผ ์ž˜ ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ž‘์„ฑํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๋‚ด์šฉ์€ ์ฑ…์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑํ•˜์˜€์œผ๋ฉฐ ์ž์„ธํ•œ ๋‚ด์šฉ์ด ๊ถ๊ธˆํ•˜์‹  ๋ถ„๋“ค์€ ์ฑ…์„ ๊ตฌ๋งคํ•ด์„œ ์ฝ๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ตœ๊ทผ ์„œ๋น„์Šค ๋ฉ”์‹œ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฑฐ๋‚˜ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ๋งŽ์ด ๋“ค์—ˆ๋˜ ์ƒ๊ฐ์€ ์ด ๋ฐฉ๋ฒ•์ด ์ตœ์„ ์ธ๊ฐ€? ๋ผ๋Š” ์ƒ๊ฐ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ๊ถ๊ธˆ์ฆ์„ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ ๋„์›€์ด ๋ ๋งŒํ•œ ์ฑ…์„ ๋ฐœ๊ฒฌํ•ด์„œ ์ฝ์–ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์„ค์ • ํŒŒ์ผ ๊ด€๋ฆฌ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์„ ์–ธ์ ์œผ๋กœ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ƒํƒœ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝํ• ์ง€ ๋ช…๋ น์  ์ ‘๊ทผ์ด ์•„๋‹Œ Desired State๋ฅผ ์ •์˜ํ•˜๋Š” ์„ ์–ธ์ „ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋ช…๋ น์ ์ธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉ.. 2021. 1. 30.
[Service Mesh] 7. Logging Service Mesh ์•Œ์•„๋ณด๊ธฐ [Service Mesh] 1. Service Mesh๋ž€? [Service Mehs] 2. Envoy Proxy [Service Mesh] 3. Istio? [Service Mesh] 4. Istio Traffic Management (1) - Virtual Service & Destination Rule [Service Mesh] 5. Istio Traffic Managerment (2) - Gateway & Service Entry [Service Mesh] 6. Service Monitoring in Istio [Service Mesh] 7. Logging ์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” ์„œ๋น„์Šค ๋ฉ”์‹œ ๋‚ด๋ถ€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋กœ๊ทธ๋ฅผ Istio์—์„œ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต.. 2021. 1. 28.