๐๋ฐฑ์๋ : BackEnd
์คํ๋ง ์ํ๋ฆฌํฐ์ ๋์ ์๋ฆฌ์ ๋ํด ๊ณต๋ถํ๊ณ ์ ๋ฆฌํ ๋ด์ฉ์
๋๋ค. ์ ์ฒด ๋์๊ณผ์ ํํฐ๋? ์คํ๋ง ์ปจํ
์ด๋ ์ธ๋ถ์ ์กด์ฌํ์ฌ ์คํ๋ง๊ณผ ๋ฌด๊ดํ ์์์ ๋ํด ๋์ํฉ๋๋ค. ๋ณดํต web.xml์ ๋ฑ๋ก. ์ธ์ฝ๋ฉ ๋ณํ ์ฒ๋ฆฌ, XSS ๋ฐฉ์ด ๋ฑ์ ์์ฒญ์ ๋ํ ์ฒ๋ฆฌ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ์ธ์ฆ๊ณผ ์ธ๊ฐ์ ์ฐจ์ด์ ์ธ์ฆ : ํด๋น ์ฌ์ฉ์๊ฐ ๋ณธ์ธ์ด ๋ง๋์ง๋ฅผ ํ์ธํ๋ ์ ์ฐจ ์ธ๊ฐ : ์ธ์ฆ๋ ์ฌ์ฉ์๊ฐ ์์ฒญ๋ ์์์ ๋ํด ์ ๊ทผ์ด ๊ฐ๋ฅํ๊ฐ๋ฅผ ๊ฒฐ์ ํ๋ ์ ์น Servlet Container์ Spring Container DelegatingFilterProxy Servlet Container์ Spring์ Spring Container๋ฅผ ์ฐ๊ฒฐํด์ฃผ๋ ํํฐ์
๋๋ค. servlet container์ ์กด์ฌํ๋ ํํฐ์
๋๋ค. ํํฐ(Filter)๋ ์คํ๋ง์์ ๊ด๋ฆฌ๊ฐ..
๐์ฝ๋ฉํ
์คํธ:CodingTest
https://www.acmicpc.net/problem/1520 1520๋ฒ: ๋ด๋ฆฌ๋ง ๊ธธ ์ฒซ์งธ ์ค์๋ ์ง๋์ ์ธ๋ก์ ํฌ๊ธฐ M๊ณผ ๊ฐ๋ก์ ํฌ๊ธฐ N์ด ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. ์ด์ด ๋ค์ M๊ฐ ์ค์ ๊ฑธ์ณ ํ ์ค์ N๊ฐ์ฉ ์์์๋ถํฐ ์ฐจ๋ก๋ก ๊ฐ ์ง์ ์ ๋์ด๊ฐ ๋น ์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. www.acmicpc.net ํ์ด๊ณผ์ (r,c)์์ ๋ชฉ์ ์ง (M-1,N-1)๊น์ง ๊ฐ ์ ์๋ ๋ชจ๋ ๊ฒฝ๋ก์ ๊ฐฏ์๋ (r,c)์ ์ธ์ ํ (nr,nc)์์ ๋ชฉ์ ์ง (M-1,N-1)๊น์ง ๊ฐ ์ ์๋ ๊ฒฝ๋ก ๊ฐฏ์์ ํฉ์ด๋ค. ์ ๊ณผ์ ์ ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ด๋ฉด ์๋์ ๊ฐ๋ค ๋ณดํต์ bottom-up ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ dp๊ฐ ์๋์๋ค. ๋ฉ๋ชจ๋ฆฌ์ ์ด์
๋ฐฉ๋ฒ ๋ฐฉ๋ฌธ์ฒดํฌ ๋ฐฐ์ด(visited) ์ ๋ฌ์ ๊ณ์ฐ์ด ์๋ฃ๋ ์ขํ์ ๊ฒฝ์ฐ ๊ณ์ฐ๋ ๊ฒฐ๊ณผ๊ฐ์ ๋ฆฌํดํ๋ ๋ฐฉ..
๐์ฝ๋ฉํ
์คํธ:CodingTest
https://www.acmicpc.net/problem/15684 15684๋ฒ: ์ฌ๋ค๋ฆฌ ์กฐ์ ์ฌ๋ค๋ฆฌ ๊ฒ์์ N๊ฐ์ ์ธ๋ก์ ๊ณผ M๊ฐ์ ๊ฐ๋ก์ ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ธ์ ํ ์ธ๋ก์ ์ฌ์ด์๋ ๊ฐ๋ก์ ์ ๋์ ์ ์๋๋ฐ, ๊ฐ๊ฐ์ ์ธ๋ก์ ๋ง๋ค ๊ฐ๋ก์ ์ ๋์ ์ ์๋ ์์น์ ๊ฐ์๋ H์ด๊ณ , ๋ชจ๋ ์ธ๋ก์ www.acmicpc.net ํ์ด๊ณผ์ check() :i๋ฒ ์ธ๋ก์ ์ ๊ฒฐ๊ณผ๊ฐ i๋ฒ์ด ๋์ค๋์ง ํ์ธํ๋ ํจ์ ์ฌ๋ค๋ฆฌ 0๊ฐ ๋๊ณ check()ํ๊ธฐ ์ฌ๋ค๋ฆฌ 1๊ฐ๋ฅผ ๋๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ๋ํด check()ํ๊ธฐ ์ฌ๋ค๋ฆฌ 2๊ฐ๋ฅผ ๋๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ๋ํด check()ํ๊ธฐ ์ฌ๋ค๋ฆฌ 3๊ฐ๋ฅผ ๋๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ๋ํด check()ํ๊ธฐ ๋ง์ฝ ์ฌ๋ค๋ฆฌ 1๊ฐ๋ฅผ ๋๋ ๊ณผ์ ์์ check()==true๊ฐ ๋๋ค๋ฉด ์ฌ๋ค๋ฆฌ 2๊ฐ, 3๊ฐ ๋๋ ๊ณผ์ ์ ํ์ํ์ง ์๋ค. ์..
๐์ฝ๋ฉํ
์คํธ:CodingTest
https://www.acmicpc.net/problem/14890 14890๋ฒ: ๊ฒฝ์ฌ๋ก ์ฒซ์งธ ์ค์ N (2 ≤ N ≤ 100)๊ณผ L (1 ≤ L ≤ N)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ง๋๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ์นธ์ ๋์ด๋ 10๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. www.acmicpc.net ๋ชจ๋ ํ์ ๋ํด์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์งํํ๋ฉฐ ์ง๋๊ฐ ์ ์๋ ๊ธธ์ธ์ง ํ์ธํ๋ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํ์๋ค. โ
์ผ์ชฝ ๋ธ๋ญ๊ณผ์ ๋์ด ์ฐจ์ด(gap) ๊ณ์ฐ gap == 0 : ๋ค์ ์นธ์ผ๋ก ์ฌ๊ท gap == 1 : ์ผ์ชฝ ๋ธ๋ญ์ ๊ณ๋จ์ ๋์ ์ ์๋์ง ํ์ธํ ํ ๋ค์ ์นธ์ผ๋ก ์ฌ๊ท gap == -1 : ์ด๋ฉด ์ค๋ฅธ์ชฝ ๋ธ๋ญ์ ๊ณ๋จ์ ๋์ ์ ์๋์ง ํ์ธํ ํ ๊ณ๋จ ์ดํ ์นธ์ผ๋ก ์ฌ๊ท โ
๋ฐฑํธ๋ํน ์ข
๋ฃ(basecase) ์กฐ๊ฑด ๊ณ๋จ์ ๋ง์ง๋ง ๋ธ๋ญ..
๐์ฝ๋ฉํ
์คํธ:CodingTest
https://www.acmicpc.net/problem/16234 16234๋ฒ: ์ธ๊ตฌ ์ด๋ N×Nํฌ๊ธฐ์ ๋
์ด ์๊ณ , ๋
์ 1×1๊ฐ์ ์นธ์ผ๋ก ๋๋์ด์ ธ ์๋ค. ๊ฐ๊ฐ์ ๋
์๋ ๋๋ผ๊ฐ ํ๋์ฉ ์กด์ฌํ๋ฉฐ, rํ c์ด์ ์๋ ๋๋ผ์๋ A[r][c]๋ช
์ด ์ด๊ณ ์๋ค. ์ธ์ ํ ๋๋ผ ์ฌ์ด์๋ ๊ตญ๊ฒฝ์ ์ด ์กด์ฌํ๋ค. ๋ชจ www.acmicpc.net ํ์ด์์ 0. ํ๋ฃจ๋ง๋ค NxNํฌ๊ธฐ์ ๋
์ ํ์ธํ๋ฉฐ ๊ตญ๊ฒฝ์ ํ๋ฌผ์๋์ง ํ์ธ while(true){ if(!solve()){ // ๊ตญ๊ฒฝ ํ๋ฌผ ์ ์๋์ง ํ์ธํ๊ณ ๊ตญ๊ฒฝ ํ๋ฌผ๊ณ ์ธ๊ตฌ์ ๊ฐฑ์ break; } ans+=1; } ํ๋ฃจ๋ง๋ค (0,0)์์ bfs๋ฅผ ์ํํ๋ฉฐ ๊ตญ๊ฒฝ์ ํ๋ฌผ๊ณ ์ธ๊ตฌ๋ฅผ ์ด๋์์ผฐ๋ค. static boolean solve(){ visited = new boolean[N][N];..
๐์ฝ๋ฉํ
์คํธ:CodingTest
ํน์ดํ bfs๋ฌธ์ ํต์ฌ ๋ก์ง 1. ๊ตฌ์ฌ์ ๋์์ ์์ง์ด๊ธฐ 2. ๋ฒฝ์ ๋ฟ๊ธฐ ์ง์ ๊น์ง ์ต๋ํ ์์ง์ด๊ธฐ 3. ๋นจ๊ฐ ๊ตฌ์ฌ๊ณผ, ํ๋ ๊ตฌ์ฌ์ด ๊ฒน์น๋ ๊ฒฝ์ฐ๋ฅผ ์ฒ๋ฆฌ 1. ๊ตฌ์ฌ์ ๋์์ ์์ง์ด๊ธฐ ๋นจ๊ฐ๊ณต๊ณผ ํ๋๊ณต์ ์ขํ๋ฅผ ๊ฐ์ด ๊ฐ์ง๊ณ ์๋ Marble ํด๋์ค๋ฅผ ๋ง๋ค์๋ค. class Marble{ private int redRow,redCol,blueRow,blueCol; public Marble(){} public Marble(int redRow, int redCol, int blueRow, int blueCol){ this.redRow = redRow; this.redCol = redCol; this.blueRow = blueRow; this.blueCol = blueCol; } public int getRedRow()..
๐์ปดํจํฐ๊ณผํ:CS
ํ๋ก๊ทธ๋จ ๋์์์ 1. ํ๋ก๊ทธ๋จ์ด ์์๋์ด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ 2. PC(ํ๋ก๊ทธ๋จ ์นด์ดํฐ)๋ผ๋ ๋ ์ง์คํฐ๊ฐ ํ์ฌ CPU์์ ์ํํ ์ฝ๋์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ์ ๊ฐ์ง๊ฒ ๋จ 3. CPU๋ PC๊ฐ ๊ฐ๋ฆฌํค๋ ์ฃผ์์ ๊ธฐ๊ณ์ด ๋ช
๋ น์ ํ๋์ฉ ์ํ ๊ธฐ๊ณ์ด ๋ช
๋ น ์ข
๋ฅ cpu๋ด์์ ์ํ๋๋ ๋ช
๋ น (์ : ADD๋ช
๋ น) ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ ํ์๋ก ํ๋ ๋ช
๋ น (์ : Load๋ช
๋ น, Store๋ช
๋ น) ์
์ถ๋ ฅ์ ๋๋ฐํ๋ ๋ช
๋ น 1๋ฒ, 2๋ฒ์ ๋น๊ต์ ๋น ๋ฅธ๋ช
๋ น (์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ง์ cpu๋ฅผ ๊ฐ์ง๊ณ ์ํ) ๐ CPU๋ฒ์คํธ 3๋ฒ์ ์๋์ ์ผ๋ก ๋๋ฆฐ ๋ช
๋ น ๐ I/O ๋ฒ์คํธ ํ๋ก๊ทธ๋จ๋ค์ CPU๋ฒ์คํธ๊ฐ ๊ธด ๊ฒฝ์ฐ๋ ์๊ณ ์งง์ ๊ฒฝ์ฐ๋ ์๊ณ , I/O๋ฒ์คํธ๊ฐ ๊ธด ๊ฒฝ์ฐ, ์งง์ ๊ฒฝ์ฐ ์๊ณ ๋ค์ํ๋ค. ๋ฐ๋ผ์ CPU ์ค์ผ์ค๋ง์ด ํ์ํจ. CPU์ค์ผ์ค๋ง์ ๋ ๊ฐ์ง ๋ถ๋ฅ ๋น์ ์ ํ..
๐๋ฐ์ดํฐ๋ฒ ์ด์ค:DB
1๊ณผ๋ชฉ ๋ฐ์์์ ์ ๋ฐ๋ฅธ ์ํฐํฐ ๋ถ๋ฅ ๊ธฐ๋ณธ/ํค์ํฐํฐ : ๋ค๋ฅธ ์ํฐํฐ๋ก๋ถํฐ ์ฃผ์๋ณ์๋ฅผ ์์๋ฐ์ง ์๊ณ ์์ ์ ๊ณ ์ ํ ์ฃผ์๋ณ์๋ฅผ ๊ฐ์ง๋ฉฐ ์ฌ์, ๋ถ์, ๊ณ ๊ฐ, ์ํ, ์์ฌ ๋ฑ์ด ์๊ฐ ๋ ์ ์๋ ์ํฐํฐ ์ค์ฌ์ํฐํฐ ํ์์ํฐํฐ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ด๋ ์ ๋ณด์์คํ
์ ๊ตฌ์ถํ๊ธฐ ์ํ ๋ฐ์ดํฐ ๊ด์ ์ ์
๋ฌด ๋ถ์ ๊ธฐ๋ฒ ํ์ค์ธ๊ณ์ ๋ฐ์ดํฐ์ ๋ํด ์ฝ์๋ ํ๊ธฐ๋ฒ์ ์ํด ํํํ๋ ๊ณผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ถํ๊ธฐ ์ํ ๋ถ์/์ค๊ณ์ ๊ณผ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ์ ์์ ์ค๋ณต ๋น์ ์ฐ์ฑ : ๋ฐ์ดํฐ์ ์ ์์ ๋ฐ์ดํฐ์ ์ฌ์ฉ ํ๋ก์ธ์ค๋ฅผ ๋ถ๋ฆฌ ๋น์ผ๊ด์ฑ ๋ฐ์ดํฐ๋ชจ๋ธ๋ง์ DB๊ตฌ์ถํ๊ธฐ๋ง์ ์ํ ๊ฒ์ด ์๋๋ผ, ๋ชจ๋ธ๋ง ์์ฒด๋ก์ ์
๋ฌด๋ฅผ ์ค๋ช
ํ๊ณ ๋ถ์ํ๋๋ฐ ์ค์ํ ์๋ฏธ๊ฐ ์๋ค ๊ฐ๋
์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง : ์ถ์ํ ์์ค์ด ๋๊ณ ์
๋ฌด์ค์ฌ์ ์ด๊ณ ํฌ๊ด์ ์ธ ์์ค์ ๋ชจ๋ธ๋ง ์งํ. ์ ์ฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ..