๐์ฝ๋ฉํ
์คํธ: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()..
๐์ฝ๋ฉํ
์คํธ:CodingTest
๊ฐ์ ์ค์ฌ ์๊ณ ๋ฆฌ์ฆ ๐ ๊ทธ๋ํ๋ค์ ์์ง ๋ฆฌ์คํธ๋ก ๊ตฌํ ์์ ๊ฐ์ ์ด ํฌํจ๋ ์ํฉ์์์ ์ต๋จ ๊ฑฐ๋ฆฌ ๋ฌธ์ ์ ์ฌ์ฉ. ์์ ๊ฐ์ ์ ์ํ์ ๊ฐ์งํ ์ ์์. ๋งค๋ฒ ๋ชจ๋ ๊ฐ์ ์ ์ ๋ถ ํ์ธ ์ต๋จ ๊ฑฐ๋ฆฌ ๋ฆฌ์คํธ์์ ์
๋ฐ์ดํธ ๋ฐ๋ณต ํ์๋ V - 1 ์๊ฐ๋ณต์ก๋ : O(VE), ๋ค์ต์คํธ ์๊ณ ๋ฆฌ์ฆ์ ๋นํด ๋๋ฆฌ๋ค ์์๊ฐ์ ์ด ์์ด๋ ์ํ์ด ๋ฐ์ํ์ง ์๋๋ค๋ฉด ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ ์ ์๋ค. (์์๊ฐ์ ์ ์ํ์ด ๋ฐ์ํ๋ฉด ์ต๋จ๊ฑฐ๋ฆฌ๊ฐ ์์ ๋ฌดํ์ธ ๋
ธ๋๊ฐ ๋ฐ์ํ๊ฒ ๋จ) ๋์์๋ฆฌ 1. ์ถ๋ฐ ๋
ธ๋๋ฅผ ์ค์ 2. ์ต๋จ ๊ฑฐ๋ฆฌ ํ
์ด๋ธ์ ์ด๊ธฐํ 3. ๋ค์์ ๊ณผ์ ์ N-1 ๋ฒ ๋ฐ๋ณต 3-1. ์ ์ฒด ๊ฐ์ E๊ฐ๋ฅผ ํ๋์ฉ ํ์ธ 3-2. ๊ฐ ๊ฐ์ ์ ๊ฑฐ์ณ ๋ค๋ฅธ ๋
ธ๋๋ก ๊ฐ๋ ๋น์ฉ์ ๊ณ์ฐํ์ฌ ์ต๋จ๊ฑฐ๋ฆฌ ํ
์ด๋ธ์ ๊ฐฑ์ 4. ๋ง์ฝ ์์ ๊ฐ์ ์ํ์ด ๋ฐ์ํ๋์ง ์ฒดํฌํ๊ณ ์ถ๋ค๋ฉด 3..
๐์ฝ๋ฉํ
์คํธ:CodingTest
๋๋ณด๊ธฐ [Gold IV] ๊ฑฐ์ง๋ง - 1043 ๋ฌธ์ ๋งํฌ ์ฑ๋ฅ ์์ฝ ๋ฉ๋ชจ๋ฆฌ: 14352 KB, ์๊ฐ: 128 ms ๋ถ๋ฅ ์๋ฃ ๊ตฌ์กฐ, ๋ถ๋ฆฌ ์งํฉ, ๊ทธ๋ํ ์ด๋ก , ๊ทธ๋ํ ํ์ ์ ์ถ ์ผ์ 2024๋
1์ 3์ผ 16:32:22 ๋ฌธ์ ์ค๋ช
์ง๋ฏผ์ด๋ ํํฐ์ ๊ฐ์ ์ด์ผ๊ธฐ ํ๋ ๊ฒ์ ์ข์ํ๋ค. ํํฐ์ ๊ฐ ๋๋ง๋ค, ์ง๋ฏผ์ด๋ ์ง๋ฏผ์ด๊ฐ ๊ฐ์ฅ ์ข์ํ๋ ์ด์ผ๊ธฐ๋ฅผ ํ๋ค. ์ง๋ฏผ์ด๋ ๊ทธ ์ด์ผ๊ธฐ๋ฅผ ๋งํ ๋, ์๋ ๊ทธ๋๋ก ์ง์ค๋ก ๋งํ๊ฑฐ๋ ์์ฒญ๋๊ฒ ๊ณผ์ฅํด์ ๋งํ๋ค. ๋น์ฐํ ๊ณผ์ฅํด์ ์ด์ผ๊ธฐํ๋ ๊ฒ์ด ํจ์ฌ ๋ ์ฌ๋ฏธ์๊ธฐ ๋๋ฌธ์, ๋๋๋ก์ด๋ฉด ๊ณผ์ฅํด์ ์ด์ผ๊ธฐํ๋ ค๊ณ ํ๋ค. ํ์ง๋ง, ์ง๋ฏผ์ด๋ ๊ฑฐ์ง๋ง์์ด๋ก ์๋ ค์ง๊ธฐ๋ ์ซ์ดํ๋ค. ๋ฌธ์ ๋ ๋ช๋ช ์ฌ๋๋ค์ ๊ทธ ์ด์ผ๊ธฐ์ ์ง์ค์ ์๋ค๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ์ด๋ฐ ์ฌ๋๋ค์ด ํํฐ์ ์์ ๋๋, ์ง๋ฏผ์ด๋ ์ง์ค์ ์ด์ผ๊ธฐํ ์ ..
๐์ฝ๋ฉํ
์คํธ:CodingTest
๋ฌธ์ : https://www.acmicpc.net/problem/12851 12851๋ฒ: ์จ๋ฐ๊ผญ์ง 2 ์๋น์ด๋ ๋์๊ณผ ์จ๋ฐ๊ผญ์ง์ ํ๊ณ ์๋ค. ์๋น์ด๋ ํ์ฌ ์ N(0 ≤ N ≤ 100,000)์ ์๊ณ , ๋์์ ์ K(0 ≤ K ≤ 100,000)์ ์๋ค. ์๋น์ด๋ ๊ฑท๊ฑฐ๋ ์๊ฐ์ด๋์ ํ ์ ์๋ค. ๋ง์ฝ, ์๋น์ด์ ์์น๊ฐ X์ผ ๋ www.acmicpc.net ๊ธฐ์กด์ ์จ๋ฐ๊ผญ์ง ๋ฌธ์ ์์ ์ต๋จ๊ฒฝ๋ก์ ๊ฐฏ์๊น์ง ๊ตฌํด์ผ ํ๋ค. 1. ๋ชฉ์ ์ง์ ๋๋ฌํ๋ฉด ํจ์๋ฅผ ์ข
๋ฃํ๋ ๊ฒ์ด ์๋ ๊ณ์ ํ์์ ์ด์ด๋๊ฐ๋๋ก ํจ์๋ฅผ ๊ตฌ์ฑํ๋ค. while(!pq.isEmpty()){ Node cur = pq.poll(); if(cur.idx==K && cur.w==dist[K]){ // ๋ชฉํ์ง์ ์ ๋๋ฌํ ๊ฒฝ์ฐ count+=1; } ... } ..