์๊ณ ๋ฆฌ์ฆ/BOJ
โจ ๊ทธ๋ํ ๐ ๋ค์ต์คํธ๋ผ (์ต๋จ๊ฒฝ๋ก ํ์ ์๊ณ ๋ฆฌ์ฆ) 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 ์ฃผ์ ๋ช
๋ น์ด ๋์ปค ๋ช
๋ น์ด ์ฐพ์์ ์ฌ์ฉํ๊ธฐ ๐ 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
โจ 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
โจ ๊ตฌํ ๐ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฐ์ฅ ์์ ํฌ๊ธฐ์ ์ ์ฌ๊ฐํ์ ์ฐพ๊ณ ์๊ณ๋ฐฉํฅ์ผ๋ก 90๋ ํ์ https://www.codetree.ai/training-field/frequent-problems/problems/maze-runner/description?page=1&pageSize=20 ์ฝ๋ํธ๋ฆฌ | ์ฝ๋ฉํ
์คํธ ์ค๋น๋ฅผ ์ํ ์๊ณ ๋ฆฌ์ฆ ์ ์ ๊ตญ๊ฐ๋ํ๊ฐ ๋ง๋ ์ฝ๋ฉ ๊ณต๋ถ์ ๊ฐ์ด๋๋ถ ์ฝ๋ฉ ์์ด๋ณด๋ถํฐ ๊ฟ์ ์ง์ฅ ์ฝํ
ํฉ๊ฒฉ๊น์ง, ๊ตญ๊ฐ๋ํ๊ฐ ์์ ํ ์ปค๋ฆฌํ๋ผ์ผ๋ก ์ค๋นํด๋ณด์ธ์. www.codetree.ai ๐ ๊ณ ๋ คํด์ผํ ์ ์ฐธ๊ฐ์๊ฐ ํ์ฌ ์๋ ์นธ ~ ์ถ๊ตฌ๊น์ง์ ๊ฑฐ๋ฆฌ < ์ฐธ๊ฐ์๊ฐ ์ด๋ํ ์นธ ~ ์ถ๊ตฌ๊น์ง์ ๊ฑฐ๋ฆฌ โ ์ด๋ X ์ถ๊ตฌ๊น์ง์ ์ต๋จ๊ฑฐ๋ฆฌ๊ฐ ๋ ๊ฐ๊น์์ผ ์ด๋ ๊ฐ๋ฅ ์์ง์ผ ์ ์๋ ์นธ์ด 2๊ฐ ์ด์์ด๋ผ๋ฉด ์ํ๋ก ์์ง์ด๋ ๊ฒ์ ์ฐ์ ์..
์๊ณ ๋ฆฌ์ฆ/BOJ
โจ ๊ตฌํ https://www.acmicpc.net/problem/14503 14503๋ฒ: ๋ก๋ด ์ฒญ์๊ธฐ ์ฒซ์งธ ์ค์ ๋ฐฉ์ ํฌ๊ธฐ $N$๊ณผ $M$์ด ์
๋ ฅ๋๋ค. $(3 \le N, M \le 50)$ ๋์งธ ์ค์ ์ฒ์์ ๋ก๋ด ์ฒญ์๊ธฐ๊ฐ ์๋ ์นธ์ ์ขํ $(r, c)$์ ์ฒ์์ ๋ก๋ด ์ฒญ์๊ธฐ๊ฐ ๋ฐ๋ผ๋ณด๋ ๋ฐฉํฅ $d$๊ฐ ์
๋ ฅ๋๋ค. $d$๊ฐ $0$์ธ ๊ฒฝ์ฐ ๋ถ์ชฝ www.acmicpc.net ๐ ๊ณ ๋ คํด์ผํ ์ ์ฃผ๋ณ ๋์๋จ๋ถ 4์นธ ์ค ์ฒญ์๋์ง ์์ ๋น ์นธ์ด ์๋ ๊ฒฝ์ฐ ์ฆ, ๋ชจ๋ ์ฒญ์๋์๋ค๋ฉด ๋ฐ๋ผ๋ณด๋ ๋ฐฉํฅ์ ์ ์งํ๊ณ ํ ์นธ ํ์ง ๊ฐ๋ฅํ๋ฉด ํ์งํ๋ค. ๋ฌธ์ ์์ 0123 = ๋ถ๋๋จ์๋ผ๋ ์กฐ๊ฑด์ ์ ์ํ๋ค. ํ์งํ ์ ๋ฐฉํฅ์ด ๋ถโ๋จ, ๋จโ๋ถ / ๋โ์, ์โ๋์ผ๋ก ์ด๋ํ๊ธฐ ๋๋ฌธ์ ํ์ฌ ๋ฐ๋ผ๋ณด๋ ๋ฐฉํฅ์ด 0, 1(๋ถ, ๋)์ด๋ผ๋ฉด +2๋ฅผ ํด์ค์ผ..
์๊ณ ๋ฆฌ์ฆ/BOJ
โจ ๊ตฌํ & BFS(์ต๋จ๊ฑฐ๋ฆฌ) https://www.acmicpc.net/problem/19238 19238๋ฒ: ์คํํธ ํ์ ์ฒซ ์ค์ N, M, ๊ทธ๋ฆฌ๊ณ ์ด๊ธฐ ์ฐ๋ฃ์ ์์ด ์ฃผ์ด์ง๋ค. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ ์ด๊ธฐ ์ฐ๋ฃ ≤ 500,000) ์ฐ๋ฃ๋ ๋ฌดํํ ๋ง์ด ๋ด์ ์ ์๊ธฐ ๋๋ฌธ์, ์ด๊ธฐ ์ฐ๋ฃ์ ์์ ๋์ด์ ์ถฉ์ ๋ ์๋ ์๋ค. ๋ค www.acmicpc.net ๐ ๊ณ ๋ คํด์ผํ ์ ํ์์ ์์น์์๋ถํฐ ์น๊ฐ๊น์ง์ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ค. ๐ ์๊ฐ์ด๊ณผ ์ฃผ์ ! ์ต๋จ๊ฑฐ๋ฆฌ๊ฐ ๋์ผํ ์น๊ฐ๋ค์ด ์กด์ฌํ ๊ฒฝ์ฐ ๊ทธ ์ค ํ ๋ฒํธ๊ฐ ๊ฐ์ฅ ์์ ์น๊ฐ์, ๊ทธ๋ฐ ์น๊ฐ๋ ์ฌ๋ฌ ๋ช
์ด๋ผ๋ฉด ์ด ๋ฒํธ๊ฐ ๊ฐ์ฅ ์์ ์น๊ฐ์๊ฒ ์ด๋ํ๋ค. ๐ PriorityQueue ํ์ฉ ๋ฒฝ์ ์ํด ์น๊ฐ์๊ฒ ๊ฐ์ง ๋ชปํ๊ฑฐ๋ ๋ชฉ์ ์ง์ ๊ฐ์ง ๋ชปํ๋ ์ํฉ ..
Spring/Spring & Spring Boot
์ธ์ฆ๋ ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ๋ค์ํ๋ค. Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); String currentPrincipalName = authentication.getName(); UserDetails userDetails = (UserDetails) authentication.getPrincipal(); ์์ ์๋ ์์ ๊ฐ์ ์ฝ๋๋ฅผ ์ด์ฉํด์ ์ ์ ๋ฅผ ๋ถ๋ฌ์๋ค. SecurityContext์ ์ธ์ฆ๋ Authentication ๊ฐ์ฒด๋ฅผ ๋ฃ์ด๋๊ณ ํ์ฌ ์ค๋ ๋ ๋ด์์ ๊ณต์ ๋์ด ๊ด๋ฆฌํ ์ ์๋๋ก ํ๋ ๊ฒ์ด๋ค. ํ์ง๋ง ์ด๋ ๊ฒ ์ฌ์ฉํ๋ฉด getName()๋ง ๋ถ๋ฅผ ์๋ฐ์ ์๋ค. ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๋ ์๋..
์๊ณ ๋ฆฌ์ฆ/๐๏ธ ์ ๋ฆฌ
์๊ณ ๋ฆฌ์ฆ์ ํ๋ฉด์ ๊ธฐ์ตํด๋๋ฉด ์ข์๋งํ ์ฝ๋๋ฅผ ๊ธฐ๋กํ๋ค. ๐บ ์ํฉ ์ค๋ช
๊ณ ์์ด๊ฐ ์ํ์ข์ฐ๋ก L๋งํผ ์ด๋ํ ๋ ๋ฒ์ ๋ฐ์ผ๋ก ์ด๋ํ๋ค๋ฉด ์ด๋๋ฐฉํฅ์ ๋ฐ๋๋ก ๋ฐ๊พผ ํ ์ด๋์ ๊ณ์ ์งํํ๋ค. ๋ง์ฝ L์ ๊ฐ์ด 10์ต์ผ ๋ for๋ฌธ์ 10์ต ๋ฒ ๋๋ ค ๊ณ ์์ด๊ฐ ์ด๋ํ๊ฒ ๋๋ ์์น๋ฅผ ์ ํ๋ ๊ฒ์ ๋นํจ์จ์ ์ด๋ฉฐ ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ๋ค. ๊ณ ์์ด์ ์์น๋ฅผ ๋ฐ๋ณต๋ฌธ์ด ์๋ ์์ ์ด์ฉํด์ ๊ตฌํด๋ณด์. ๐น๏ธ ๊ตฌํ ๋ฐฉ๋ฒ ๐น ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋ํ ๋ 4x6์ ํ์์ ํ์ฌ ๊ณ ์์ด๋ (2, 2)์ ์์นํด ์๋ค. ๊ณ ์์ด๊ฐ ๋ง์ฝ 3์นธ ์ด๋ํ๋ฉด ๋ฒ์์ ๋ฒ์ด๋์ง ์๋๋ค. ํ์ง๋ง ์ค๋ฅธ์ชฝ์ผ๋ก 7์นธ ์ด๋ํ ๋ ๋ฒ์๋ฅผ ๋ฒ์ด๋๊ฒ ๋๋ค. ๋ค์ ์ด๋ํ๋ ค๋ ์นธ์ด ๋ฒ์์ ๋ฒ์ด๋๋ค๋ฉด ๋ฐฉํฅ์ ๋ฐ๋๋ก ๋ฐ๊ฟ ์ด๋ํ๊ณ , ์ต์ข
์ ์ผ๋ก (2, 1)์ ์์นํ๊ฒ ๋๋ค. 12์นธ ์ด๋ํ๋ฉด ๋์ผํ..