๐๋ฌธ์ ํ์ด/๐งฉBaekjoon
[JAVA] ๋ฐฑ์ค 16926 ๋ฐฐ์ด ๋๋ฆฌ๊ธฐ 1 | ๊ตฌํ
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://www.acmicpc.net/problem/16926 16926๋ฒ: ๋ฐฐ์ด ๋๋ฆฌ๊ธฐ 1 ํฌ๊ธฐ๊ฐ N×M์ธ ๋ฐฐ์ด์ด ์์ ๋, ๋ฐฐ์ด์ ๋๋ ค๋ณด๋ ค๊ณ ํ๋ค. ๋ฐฐ์ด์ ๋ค์๊ณผ ๊ฐ์ด ๋ฐ์๊ณ ๋ฐฉํฅ์ผ๋ก ๋๋ ค์ผ ํ๋ค. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - ๊ตฌํ ๋ฌธ์ - ์ฌ๊ฐํ์ ํ ๊ฒน(?)์ฉ ๋ฐฉ๋ฌธํ๋ฉฐ ์ ๋ถ ๋๋ฆฐ๋ค. => ์ด ์ํ์ R๋ฒ - ๊ฐ ์ฌ๊ฐํ์ ๋๋ฆด ๋ ์ผ์ชฝ ์์ ๊ฐ์ ๋ฐ๋ก ์ ์ฅ ํ๊ณ ๊ฐ ๋ฉด์ ๋ํด for๋ฌธ์ ๋๋ฆฐ๋ค. - ์์ค, ์ค๋ฅธ์ชฝ์ค, ์๋์ค, ์ผ์ชฝ์ค์ ๋๋ฆผ์ผ๋ก์จ ์ผ์ชฝ ์ ๊ฐ..
[JAVA] ๋ฐฑ์ค 2493 ํ | Stack
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://www.acmicpc.net/problem/2493 2493๋ฒ: ํ ์ฒซ์งธ ์ค์ ํ์ ์๋ฅผ ๋ํ๋ด๋ ์ ์ N์ด ์ฃผ์ด์ง๋ค. N์ 1 ์ด์ 500,000 ์ดํ์ด๋ค. ๋์งธ ์ค์๋ N๊ฐ์ ํ๋ค์ ๋์ด๊ฐ ์ง์ ์์ ๋์ธ ์์๋๋ก ํ๋์ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. ํ๋ค์ ๋์ด๋ 1 www.acmicpc.net ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - Stack์ ์ด์ฉํด ๋จผ์ ์์ธ ๊ฐ ์ค (๊ฐ์ฅ ๊ฐ๊น์ด) ๋ณธ์ธ๋ณด๋ค ํฐ ๊ฐ ์ฐพ๊ธฐ 1. Stack์ด ๋น์ด ์๋์ง ์๋์ง ํ๋ณ 2. ๋น์ด์๋ค๋ฉด 0 ์ถ๋ ฅ & ๋ณธ์ธ push VS ๋น์ด์์ง ์๋ค๋ฉด Stack์์ ๋ณธ์ธ๋ณด๋ค ํฐ ๊ฐ์ ์ฐพ์ ๋๊น์ง pop 3. ๋ณธ์ธ๋ณด๋ค ํฐ ๊ฐ์ ์ฐพ์๋ค๋ฉด ์ถ๋ ฅํ๊ณ ๋ณธ์ธ push 4. 1 ~ 3 ๋ฐ๋ณต ์์ฑ ์ฝ๋ imp..
[JAVA] ๋ฐฑ์ค 12891 DNA ๋น๋ฐ๋ฒํธ | ์ฌ๋ผ์ด๋ฉ ์๋์ฐ
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://www.acmicpc.net/problem/12891 12891๋ฒ: DNA ๋น๋ฐ๋ฒํธ ํ์์ ๋ฌธ์์ด์ ๊ฐ์ง๊ณ ๋ ธ๋ ๊ฒ์ ์ข์ํ๋ ๋ฏผํธ๋ DNA ๋ฌธ์์ด์ ์๊ฒ ๋์๋ค. DNA ๋ฌธ์์ด์ ๋ชจ๋ ๋ฌธ์์ด์ ๋ฑ์ฅํ๋ ๋ฌธ์๊ฐ {‘A’, ‘C’, ‘G’, ‘T’} ์ธ ๋ฌธ์์ด์ ๋งํ๋ค. ์๋ฅผ ๋ค์ด “ACKA” www.acmicpc.net ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - ์ฌ๋ผ์ด๋ฉ ์๋์ฐ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ์ฌ ๊ณ ์ ๋ ํฌ๊ธฐ์ ๊ตฌ๊ฐ ๊ฒฐ๊ณผ๋ฅผ ๊ณ์ฐ - ๋จ์ ๋ฐ๋ณต๋ฌธ์ ํตํด ๋งค๋ฒ ๋ฌธ์์ด์ ํน์ ๊ตฌ๊ฐ ๋ฐ์ํ ๋ฌธ์ ๊ฐ์๋ฅผ ์ธ๋ฉด ์๊ฐ ์ด๊ณผ ๋ฐ์ - P ๊ธธ์ด๋งํผ ๊ฐ ๋ฌธ์์ ๋ฐ์ ํ์๋ฅผ ์นด์ดํธ ํ์ฌ ์ ์ฅํ๋ค - 0๋ถํฐ N-P๊น์ง ํ์นธ์ฉ ์ด๋ํ๋ฉด์ ํด๋น ๊ตฌ๊ฐ ์ ๋ฌธ์์ด์ ์ ๊ฑฐ, ๊ฐ์ฅ ๋ค ๋ฌธ์์ด ํ..
[JAVA] ๋ฐฑ์ค 2961 ๋์์ด๊ฐ ๋ง๋ ๋ง์๋ ์์
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://www.acmicpc.net/problem/2961 2961๋ฒ: ๋์์ด๊ฐ ๋ง๋ ๋ง์๋ ์์ ์ฒซ์งธ ์ค์ ์ฌ๋ฃ์ ๊ฐ์ N(1 ≤ N ≤ 10)์ด ์ฃผ์ด์ง๋ค. ๋ค์ N๊ฐ ์ค์๋ ๊ทธ ์ฌ๋ฃ์ ์ ๋ง๊ณผ ์ด๋ง์ด ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์ฃผ์ด์ง๋ค. ๋ชจ๋ ์ฌ๋ฃ๋ฅผ ์ฌ์ฉํด์ ์๋ฆฌ๋ฅผ ๋ง๋ค์์ ๋, ๊ทธ ์๋ฆฌ์ ์ ๋ง๊ณผ ์ด๋ง์ www.acmicpc.net ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - DFS, ์์ ํ์ - ์ ๋ง๊ณผ ์ด๋ง์ ์ ์ฅํ ๋ฐฐ์ด์ ํ๋์ฉ ๋ฐฉ๋ฌธํ๋ฉฐ ๋ฃ์์ง ์ ๋ฃ์์ง ํ์ธํ๋ค - ๋ชจ๋ ์์์ ๋ฃ์์ง ์ ๋ฃ์์ง ํ์ธํ์์ ๋, ์ด๋ง๊ณผ ์ ๋ง์ ์ฐจ์ด๊ฐ answer๋ณด๋ค ์๋ค๋ฉด answer๋ฅผ ์ ๋ฐ์ดํธ - ์์ ํ์ ํ answer๋ฅผ ์ถ๋ ฅ ์์ฑ ์ฝ๋ import java.util.*; import..
[Python] ๋ฐฑ์ค 1654 ๋์ ์๋ฅด๊ธฐ | ์ด์ง ํ์ | ์๊ฐ ์ด๊ณผ
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://www.acmicpc.net/problem/1654 1654๋ฒ: ๋์ ์๋ฅด๊ธฐ ์ฒซ์งธ ์ค์๋ ์ค์์์ด ์ด๋ฏธ ๊ฐ์ง๊ณ ์๋ ๋์ ์ ๊ฐ์ K, ๊ทธ๋ฆฌ๊ณ ํ์ํ ๋์ ์ ๊ฐ์ N์ด ์ ๋ ฅ๋๋ค. K๋ 1์ด์ 10,000์ดํ์ ์ ์์ด๊ณ , N์ 1์ด์ 1,000,000์ดํ์ ์ ์์ด๋ค. ๊ทธ๋ฆฌ๊ณ ํญ์ K โฆ N ์ด๋ค. ๊ทธ www.acmicpc.net ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - N์ ๋ฒ์๊ฐ ํฌ๋ฏ๋ก ์ด์งํ์์ผ๋ก ํ์ดํด์ผ ํ๋ค. - ๊ธธ์ด๊ฐ ๊ฐ์ฅ ๊ธด ๋์ ์ end๊ฐ, 0์ start๊ฐ์ผ๋ก ๋๊ณ ์ค๊ฐ ๊ฐ์ผ๋ก mid๋ฅผ ์ ์ธํ๋ค. - start์ end๊ฐ ๊ต์ฐจ๋๋ ์ง์ ์์ ์ข ๋ฃํ๋ while๋ฌธ์ ์์ฑํ์ฌ ์ต๋ ๊ธธ์ด๋ฅผ ์ฐพ๋๋ค. - mid๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ชจ๋ ๋์ ๋ณ ์์ฑ๋๋ ๋์ ๊ฐ์๋ฅผ ๋ชจ..
[Python] ๋ฐฑ์ค 9655 ๋ ๊ฒ์ | DP
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://www.acmicpc.net/problem/9655 9655๋ฒ: ๋ ๊ฒ์ ์๊ทผ์ด๊ฐ ๊ฒ์์ ์ด๊ธฐ๋ฉด SK๋ฅผ, ์ฐฝ์์ด๊ฐ ๊ฒ์์ ์ด๊ธฐ๋ฉด CY์ ์ถ๋ ฅํ๋ค. www.acmicpc.net ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - DP(๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ) - ๊ธฐ๋ก์ ์ํ dp ๋ฐฐ์ด : 0์ SK, 1์ CY๋ฅผ ์๋ฏธ - N์ด 1์ผ ๋ : SK N์ด 2์ผ ๋ : SK -> CY N์ด 3์ผ ๋ : SK ๋๋ SK -> CY -> SK ์ด๋ฏ๋ก ๊ฒฐ๋ก ์ ์ผ๋ก SK N์ด 4์ผ ๋ : 1์ผ ๋ ๊ฒฐ๊ณผ์ ๋ค๋ฅธ ์ฌ๋ ๋๋ 3์ผ ๋ ๊ฒฐ๊ณผ์ ๋ค๋ฅธ ์ฌ๋, ๊ฒฐ๋ก ์ ์ผ๋ก CY ...... - ์ ํ์ N์ด 4์ด์์ผ ๋, ai = (ai-1 + 1) % 2 ๋๋ ai = (ai-3 + 1) % 2 ์์ฑ ์ฝ๋ ..
[Python] ๋ฐฑ์ค 2579 ๊ณ๋จ ์ค๋ฅด๊ธฐ | DP
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://www.acmicpc.net/problem/2579 2579๋ฒ: ๊ณ๋จ ์ค๋ฅด๊ธฐ ๊ณ๋จ ์ค๋ฅด๊ธฐ ๊ฒ์์ ๊ณ๋จ ์๋ ์์์ ๋ถํฐ ๊ณ๋จ ๊ผญ๋๊ธฐ์ ์์นํ ๋์ฐฉ์ ๊น์ง ๊ฐ๋ ๊ฒ์์ด๋ค. ๊ณผ ๊ฐ์ด ๊ฐ๊ฐ์ ๊ณ๋จ์๋ ์ผ์ ํ ์ ์๊ฐ ์ฐ์ฌ ์๋๋ฐ ๊ณ๋จ์ ๋ฐ์ผ๋ฉด ๊ทธ ๊ณ๋จ์ ์ฐ์ฌ ์๋ ์ www.acmicpc.net ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - ์ต๋ 300๊ฐ ๊ณ๋จ์ ์ ์๋ฅผ ๊ธฐ๋กํ ๋ฐฐ์ด ๋ฏธ๋ฆฌ ์ ์ธ - ๊ณ๋จ ๋ณ ์ ์ ๊ธฐ๋ก ๋ฐฐ์ด๊ณผ dp ๊ธฐ๋ก์ ์ ์ฅํ ๋ฐฐ์ด 2๊ฐ ํ์ - ๊ณ๋จ 1 : ๋ณธ์ธ ์ ์ ๊ณ๋จ 2 : ๊ณ๋จ 1 + ๋ณธ์ธ ์ ์ ๊ณ๋จ 3 : max(๊ณ๋จ 1 + ๋ณธ์ธ , ๊ณ๋จ 2 + ๋ณธ์ธ) - ์ ํ์ : max( ๋ณธ์ธ ์ด์ ๊ณ๋จ ๋ฐ๊ณ ๋ณธ์ธ , ๋ณธ์ธ ์ด์ ๊ณ๋จ ๋ฐ์ง ์๊ณ ๋ณธ์ธ) ai = ma..
[Python] ๋ฐฑ์ค 1966 ํ๋ฆฐํฐ ํ
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://www.acmicpc.net/problem/1966 1966๋ฒ: ํ๋ฆฐํฐ ํ ์ฌ๋ฌ๋ถ๋ ์๋ค์ํผ ์ฌ๋ฌ๋ถ์ ํ๋ฆฐํฐ ๊ธฐ๊ธฐ๋ ์ฌ๋ฌ๋ถ์ด ์ธ์ํ๊ณ ์ ํ๋ ๋ฌธ์๋ฅผ ์ธ์ ๋ช ๋ น์ ๋ฐ์ ‘์์๋๋ก’, ์ฆ ๋จผ์ ์์ฒญ๋ ๊ฒ์ ๋จผ์ ์ธ์ํ๋ค. ์ฌ๋ฌ ๊ฐ์ ๋ฌธ์๊ฐ ์์ธ๋ค๋ฉด Queue ์๋ฃ๊ตฌ์กฐ์ www.acmicpc.net ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - ์๋ฃ๊ตฌ์กฐ ํ - ์์๋ฅผ ๋ํ๋ด๋ ๋๊ฐ์ ๋ณ์๋ฅผ ์ ๊ตฌ๋ถํ์ฌ ์ธ์งํ์ฌ์ผํ๋ค. * ๋จ์ ์ฐ์ ์์ ์ค ์ต๋๊ฐ์ด๋ฏ๋ก ์ถ๋ ฅํ๋ ์์ * ์ด๊ธฐ ํ์ ๊ฐ ๋ฌธ์ ์์ - ํ์ (์ค์๋, ์์น) ๊ฐ์ ์ฝ์ ํ๋ค. ์์น๊ฐ์ ์ฝ์ ํ๋ ์ด์ ๋ M๊ณผ ๋น๊ตํ์ฌ ์ฐพ๋ ๋ฌธ์์ธ์ง ํ์ธํ๊ธฐ ์ํจ - ์ด๊ธฐ ํ๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค. ๋งค๋ฒ ํ์ ์ต๋๊ฐ์ ๊ตฌํ๋ ๊ฒ๋ณด๋ค..
[Python] ๋ฐฑ์ค 16953 A -> B | ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ | BFS
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://www.acmicpc.net/problem/16953 16953๋ฒ: A → B ์ฒซ์งธ ์ค์ A, B (1 ≤ A < B ≤ 109)๊ฐ ์ฃผ์ด์ง๋ค. www.acmicpc.net ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ, BFS - ์ ๋ ฅ ๊ฐ์ ๋ํด์ ๋๊ฐ์ ์ฐ์ฐ์ ์ฐ์์ ์ผ๋ก ์ํํจ์ผ๋ก ๋ชจ๋ ๊ฒฝ์ฐ์ ์ ํ์ธ - ์ํ๋ ๊ฐ์ด ๋ฐ๊ฒฌ๋๋ฉด ์ถ๋ ฅ ํ ์ฆ์ ์ข ๋ฃ( ๊ฐ์ฅ ๋จผ์ ๋ฐ๊ฒฌ๋๋ ์ฐ์ฐ ํ์๊ฐ ๊ฐ์ฅ ์์ ์ฐ์ฐ์ด๋ฏ๋ก) : ๊ทธ๋ฆฌ๋ - ์ฐ์ฐ ๊ฐ์ด ํ์ผ ๊ฐ๋ณด๋ค ํฌ๋ค๋ฉด ํด๋น ์๋ธ ํธ๋ฆฌ์ ๋ํด์ ๋์ด์ ํ์ํ์ง ์๋๋ก ํ๋ค. ์์ฑ ์ฝ๋ from collections import deque a, b = map(int, input().split()) que = deque() #..