์ „์ฒด ๊ธ€

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

[BOJ] 2457 ๊ณต์ฃผ๋‹˜์˜ ์ •์›

โœจ ๊ทธ๋ฆฌ๋”” & ์ •๋ ฌ https://www.acmicpc.net/problem/2457 2457๋ฒˆ: ๊ณต์ฃผ๋‹˜์˜ ์ •์› ์ฒซ์งธ ์ค„์—๋Š” ๊ฝƒ๋“ค์˜ ์ด ๊ฐœ์ˆ˜ N (1 โ‰ค N โ‰ค 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ๊ฝƒ์ด ํ”ผ๋Š” ๋‚ ์งœ์™€ ์ง€๋Š” ๋‚ ์งœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ํ•˜๋‚˜์˜ ๋‚ ์งœ๋Š” ์›”๊ณผ ์ผ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋‘ ์ˆซ์ž๋กœ ํ‘œํ˜„๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ, www.acmicpc.net ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  ๋‚ ์งœ๋ฅผ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ์ •๋ณด๋ฅผ ๋Œ€์†Œ๋น„๊ต ๊ฐ€๋Šฅํ•˜๊ฒŒ๋” ์ •์ˆ˜๋กœ ๋ฐ”๊พธ๊ธฐ 3/1 ~ 11/30 ๊นŒ์ง€๋งŒ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค. ๊ฝƒ์ด ์ง€๋Š” ๋‚ ์—๋Š” ๊ฝƒ์„ ๋ณผ ์ˆ˜ ์—†๋‹ค. ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋‚ ์งœ๋ฅผ ๊ฝƒ์ด ํ•€ ๋‚ ์งœ๊ฐ€ ์ด๋ฅธ ์ˆœ, ๋งŒ์•ฝ ํ•€ ๋‚ ์งœ๊ฐ€ ๊ฐ™๋‹ค๋ฉด ์ง„ ๋‚ ์งœ๊ฐ€ ์ด๋ฅธ ์ˆœ์œผ๋กœ ์ •๋ ฌ์‹œ์ผœ์•ผ ํ•œ๋‹ค. ๐Ÿ•น๏ธ ํ’€์ด ๊ณผ์ • ๋ชป ํ’€์–ด์„œ ํ’€์ด๋ฅผ ๋ณด๊ณ  ๋‹ค์‹œ ํ’€์—ˆ๋‹ค. Olympia..

DevOps/โ›“๏ธ CI&CD

[โ›“๏ธCI/CD] GitHub Actions - AWS CodeDeploy & S3 ์ด์šฉํ•ด์„œ ๋ฐฐํฌ

์ด์ „ ๊ธ€์—์„œ GitHub Actions๋ฅผ CI์˜ ์šฉ๋„๋กœ ์‚ฌ์šฉํ–ˆ๊ณ , ์ฝ”๋“œ์˜ ์ž๋™ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ AWS CodeDeploy๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด๊ฒ ๋‹ค. GitHub Actions๋ฅผ ์‚ฌ์šฉํ•ด์„œ CI๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ , AWS CodeDeploy๋กœ CD๋ฅผ ๊ตฌ์ถ•ํ•ด ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋ฅผ ์ž๋™ ๋ฐฐํฌํ•  ๊ฒƒ์ด๋‹ค. ๊ฐ„๋‹จ ์š”์•ฝ GitHub์— pushํ•˜๋ฉด GitHub Actions๊ฐ€ ์ž๋™์œผ๋กœ ์‹คํ–‰ ๐Ÿ‘‰ gradlew build ๋ช…๋ น์–ด๋กœ ๋นŒ๋“œํ•˜์—ฌ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” jar ํŒŒ์ผ ์ƒ์„ฑ ๋ฐฐํฌ์— ํ•„์š”ํ•œ jar ํŒŒ์ผ๊ณผ shell script ํŒŒ์ผ์€ ์••์ถ•ํ•ด์„œ zip ํŒŒ์ผ์„ AWS S3๋กœ ์—…๋กœ๋“œ EC2์— ์„ค์น˜๋˜์–ด ์žˆ๋Š” CodeDeploy Agent๊ฐ€ S3์— ์—…๋กœ๋“œ๋œ zip ํŒŒ์ผ์„ ๊ฐ€์ ธ์™€์„œ ๋ฐฐํฌ CodeDeploy Agent๋Š” S3์—์„œ zip ํŒŒ์ผ์„ ๋‚ด๋ ค๋ฐ›๊ณ , appsp..

DevOps/โ›“๏ธ CI&CD

[โ›“๏ธ CI/CD] CI/CD์™€ GitHub Actions ํ™œ์šฉ๋ฒ•

Jenkins์™€ GitHub Actions์˜ ์ฐจ์ด์ ์„ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐํฌ ์ž๋™ํ™”๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค. (Jenkins์™€ ๊ด€๋ จ๋œ ๊ธ€๋„ ์ž‘์„ฑํ•˜๊ณ  ์žˆ์œผ๋‚˜ ์›Œ๋‚™ ์ถ”๊ฐ€ํ•  ๋‚ด์šฉ์ด ๋งŽ๋‹ค๋ณด๋‹ˆ ์ž„์‹œ์ €์žฅ์†Œ์— ๋ฌปํžŒ์ง€ ์˜ค๋ž˜๋‹ค.. ) GitHub Actions์€ Jenkins ๋ณด๋‹ค ๊ฐ„๋‹จํ–ˆ๋‹ค. ์‚ฌ์šฉ๋ฒ•์„ ๊ธฐ๋กํ•˜๊ณ  ๋‘˜์˜ ์ฐจ์ด์ ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ธฐ๋กํ•˜๊ณ ์ž ํ•œ๋‹ค. โ›“๏ธ CI/CD์™€ GitHub Actions CI/CD ๊ฐœ๋…์€ Jenkins์™€ ๊ด€๋ จ๋œ ๊ธ€์„ ์ž‘์„ฑํ•˜๋ฉด์„œ ์–ธ๊ธ‰ํ•˜๊ธด ํ–ˆ์—ˆ๋‹ค. CI/CD(์ง€์†์  ํ†ตํ•ฉ / ์ง€์†์  ๋ฐฐํฌ)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ž๋™ํ™”ํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค. ๊ถ๊ทน์ ์œผ๋กœ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๋น ๋ฅด๊ฒŒ ์ตœ์‹  ํ”„๋กœ์ ํŠธ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๊ธฐ๋„ ํ•˜๋‹ค. ์ง€์†์  ํ†ตํ•ฉ - CI (Continuous Integra..

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

[BOJ] 1202 ๋ณด์„๋„๋‘‘ - Java

โœจ ์šฐ์„ ์ˆœ์œ„ ํ & ์ •๋ ฌ https://www.acmicpc.net/problem/1202 1202๋ฒˆ: ๋ณด์„ ๋„๋‘‘ ์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค N, K โ‰ค 300,000) ๋‹ค์Œ N๊ฐœ ์ค„์—๋Š” ๊ฐ ๋ณด์„์˜ ์ •๋ณด Mi์™€ Vi๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (0 โ‰ค Mi, Vi โ‰ค 1,000,000) ๋‹ค์Œ K๊ฐœ ์ค„์—๋Š” ๊ฐ€๋ฐฉ์— ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋ฌด๊ฒŒ Ci๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค Ci www.acmicpc.net ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  ํ›”์น  ์ˆ˜ ์žˆ๋Š” ๋ณด์„ ๊ฐ€๊ฒฉ์˜ ์ตœ๋Œ€์˜ ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค. ๋ณด์„์˜ ๊ฐœ์ˆ˜

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

[BOJ] 1238 ํŒŒํ‹ฐ - Java

โœจ ๊ทธ๋ž˜ํ”„ ๐Ÿ‘‰ ๋‹ค์ต์ŠคํŠธ๋ผ (์ตœ๋‹จ๊ฒฝ๋กœ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜) https://www.acmicpc.net/problem/1238 1238๋ฒˆ: ํŒŒํ‹ฐ ์ฒซ์งธ ์ค„์— N(1 โ‰ค N โ‰ค 1,000), M(1 โ‰ค M โ‰ค 10,000), X๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ž…๋ ฅ๋œ๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ M+1๋ฒˆ์งธ ์ค„๊นŒ์ง€ i๋ฒˆ์งธ ๋„๋กœ์˜ ์‹œ์ž‘์ , ๋์ , ๊ทธ๋ฆฌ๊ณ  ์ด ๋„๋กœ๋ฅผ ์ง€๋‚˜๋Š”๋ฐ ํ•„์š”ํ•œ ์†Œ์š”์‹œ๊ฐ„ Ti๊ฐ€ ๋“ค์–ด www.acmicpc.net ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  ๊ฐ ํ•™์ƒ๋“ค์˜ ์ง‘์—์„œ ํŒŒํ‹ฐ ์žฅ์†Œ๊นŒ์ง€ ์˜ค๊ณ  ๊ฐ€๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์ตœ๋‹จ ์‹œ๊ฐ„ ๊ตฌํ•˜๊ธฐ ๋„๋กœ๋“ค์€ ๋‹จ๋ฐฉํ–ฅ ๐Ÿ‘‰ ๊ธธ๋งˆ๋‹ค ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ๋‹ค๋ฅด๋ฏ€๋กœ ์˜ค๊ณ  ๊ฐ€๋Š” ๊ธธ ๋˜ํ•œ ๋‹ค๋ฆ„ ! N๋ช…์˜ ํ•™์ƒ๋“ค ์ค‘ ์˜ค๊ณ  ๊ฐ€๋Š” ๋ฐ ๊ฐ€์žฅ ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•œ ํ•™์ƒ ์ถœ๋ ฅ ๐Ÿ•น๏ธ ํ’€์ด๊ณผ์ • ์ง‘์—์„œ ํŒŒํ‹ฐ ์žฅ์†Œ๊นŒ์ง€ ๊ฐ€๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์ตœ๋‹จ ์‹œ๊ฐ„ + ํŒŒํ‹ฐ ์žฅ์†Œ์—์„œ..

DevOps/๐Ÿณ Docker

[๐Ÿณ Docker] ๋„์ปค ๋ช…๋ น์–ด ์ •๋ฆฌ - Dockerfile

Docker ์ฃผ์š” ๋ช…๋ น์–ด ๋„์ปค ๋ช…๋ น์–ด ์ฐพ์•„์„œ ์‚ฌ์šฉํ•˜๊ธฐ ๐Ÿ‘‰ https://docs.docker.com/reference/cli/docker/container/rm/ cheatsheet ์‚ฌ์šฉํ•˜๊ธฐ ๐Ÿ‘‰ https://docs.docker.com/get-started/docker_cheatsheet.pdf ๋ช…๋ น์–ด ๊ตฌ์„ฑ : docker ์ปค๋งจ๋“œ (์˜ต์…˜) ๋Œ€์ƒ (์ธ์ž) docker run --name apa03 -d -p 8081:80 httpd docker --version docker ps -a : ์ค‘์ง€๋œ ์ปจํ…Œ์ด๋„ˆ๊นŒ์ง€ ๋ชจ๋‘ ํ™•์ธ docker pull [์ด๋ฏธ์ง€ ์ด๋ฆ„] : docker hub์—์„œ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ๋ชจ๋‘ ์‚ญ์ œ docker rm -f $(docker ps -aq) docker run = ..

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

[BOJ] 2169 ๋กœ๋ด‡ ์กฐ์ข…ํ•˜๊ธฐ - Java

โœจ DP https://www.acmicpc.net/problem/2169 2169๋ฒˆ: ๋กœ๋ด‡ ์กฐ์ข…ํ•˜๊ธฐ ์ฒซ์งธ ์ค„์— N, M(1โ‰คN, Mโ‰ค1,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” M๊ฐœ์˜ ์ˆ˜๋กœ ๋ฐฐ์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ๋ฐฐ์—ด์˜ ๊ฐ ์ˆ˜๋Š” ์ ˆ๋Œ“๊ฐ’์ด 100์„ ๋„˜์ง€ ์•Š๋Š” ์ •์ˆ˜์ด๋‹ค. ์ด ๊ฐ’์€ ๊ทธ ์ง€์—ญ์˜ ๊ฐ€์น˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. www.acmicpc.net ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์‚ฌํ•ญ ๋กœ๋ด‡์€ ์›€์ง์ผ ๋•Œ ๋ฐฐ์—ด์—์„œ ์™ผ์ชฝ, ์˜ค๋ฅธ์ชฝ, ์•„๋ž˜์ชฝ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์œ„์ชฝ์œผ๋กœ๋Š” ์ด๋™ X ํ•œ ๋ฒˆ ํƒ์‚ฌํ•œ ์ง€์—ญ์€ ์žฌํƒ์‚ฌ X (1, 1)์—์„œ (N, M)๊นŒ์ง€ ๊ฐˆ ๋•Œ ํƒ์‚ฌํ•œ ์ง€์—ญ๋“ค์˜ ๊ฐ€์น˜์˜ ์ตœ๋Œ“๊ฐ’ ๊ตฌํ•˜๊ธฐ ๐Ÿ•น๏ธ ํ’€์ด ๋ฐฉ๋ฒ• ์šฐ์„  0๋ฒˆ์งธ ํ–‰์— ์žˆ๋Š” ๊ฐ’๋“ค์€ ์™ผ์ชฝ์—์„œ๋ถ€ํ„ฐ ์ด๋™ํ•˜๋ฉด์„œ ํ•ฉ์ณ์ง„ ๊ฐ’์„ ๊ธฐ๋กํ•œ๋‹ค. ์ด๋ฏธ ํƒ์ƒ‰ํ•œ ๊ธธ์€ ๋‹ค์‹œ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๊ฒฝ๋กœ๊ฐ€ ์™ผ์ชฝ์œผ๋กœ๋ถ€ํ„ฐ ์ด๋™..

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

[CodeTree] ๋ฉ”์ด์ฆˆ ๋Ÿฌ๋„ˆ - Java

โœจ ๊ตฌํ˜„ ๐Ÿ‘‰ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ฐ€์žฅ ์ž‘์€ ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜•์„ ์ฐพ๊ณ  ์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ 90๋„ ํšŒ์ „ https://www.codetree.ai/training-field/frequent-problems/problems/maze-runner/description?page=1&pageSize=20 ์ฝ”๋“œํŠธ๋ฆฌ | ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ค€๋น„๋ฅผ ์œ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •์„ ๊ตญ๊ฐ€๋Œ€ํ‘œ๊ฐ€ ๋งŒ๋“  ์ฝ”๋”ฉ ๊ณต๋ถ€์˜ ๊ฐ€์ด๋“œ๋ถ ์ฝ”๋”ฉ ์™•์ดˆ๋ณด๋ถ€ํ„ฐ ๊ฟˆ์˜ ์ง์žฅ ์ฝ”ํ…Œ ํ•ฉ๊ฒฉ๊นŒ์ง€, ๊ตญ๊ฐ€๋Œ€ํ‘œ๊ฐ€ ์—„์„ ํ•œ ์ปค๋ฆฌํ˜๋Ÿผ์œผ๋กœ ์ค€๋น„ํ•ด๋ณด์„ธ์š”. www.codetree.ai ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  ์ฐธ๊ฐ€์ž๊ฐ€ ํ˜„์žฌ ์žˆ๋Š” ์นธ ~ ์ถœ๊ตฌ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ < ์ฐธ๊ฐ€์ž๊ฐ€ ์ด๋™ํ•  ์นธ ~ ์ถœ๊ตฌ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ โž” ์ด๋™ X ์ถœ๊ตฌ๊นŒ์ง€์˜ ์ตœ๋‹จ๊ฑฐ๋ฆฌ๊ฐ€ ๋” ๊ฐ€๊นŒ์›Œ์•ผ ์ด๋™ ๊ฐ€๋Šฅ ์›€์ง์ผ ์ˆ˜ ์žˆ๋Š” ์นธ์ด 2๊ฐœ ์ด์ƒ์ด๋ผ๋ฉด ์ƒํ•˜๋กœ ์›€์ง์ด๋Š” ๊ฒƒ์„ ์šฐ์„ ์‹œ..

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