
Algorithm/๐ Baekjoon Judge

[BOJ] ๋ฐฑ์ค 21609๋ฒ ์์ด ์คํ๊ต - ํ์ด์ฌ(Python)
๋ฌธ์ ์์ด ์คํ๊ต์ ์ฝ๋ฉ ๋์๋ฆฌ์์ ๊ฒ์์ ๋ง๋ค์๋ค. ์ด ๊ฒ์์ ํฌ๊ธฐ๊ฐ N×N์ธ ๊ฒฉ์์์ ์งํ๋๊ณ , ์ด๊ธฐ์ ๊ฒฉ์์ ๋ชจ๋ ์นธ์๋ ๋ธ๋ก์ด ํ๋์ฉ ๋ค์ด์๊ณ , ๋ธ๋ก์ ๊ฒ์์ ๋ธ๋ก, ๋ฌด์ง๊ฐ ๋ธ๋ก, ์ผ๋ฐ ๋ธ๋ก์ด ์๋ค. ์ผ๋ฐ ๋ธ๋ก์ M๊ฐ์ง ์์์ด ์๊ณ , ์์ M์ดํ์ ์์ฐ์๋ก ํํํ๋ค. ๊ฒ์์ ๋ธ๋ก์ -1, ๋ฌด์ง๊ฐ ๋ธ๋ก์ 0์ผ๋ก ํํํ๋ค. (i, j)๋ ๊ฒฉ์์ i๋ฒ ํ, j๋ฒ ์ด์ ์๋ฏธํ๊ณ , |r1 - r2| + |c1 - c2| = 1์ ๋ง์กฑํ๋ ๋ ์นธ (r1, c1)๊ณผ (r2, c2)๋ฅผ ์ธ์ ํ ์นธ์ด๋ผ๊ณ ํ๋ค. ๋ธ๋ก ๊ทธ๋ฃน์ ์ฐ๊ฒฐ๋ ๋ธ๋ก์ ์งํฉ์ด๋ค. ๊ทธ๋ฃน์๋ ์ผ๋ฐ ๋ธ๋ก์ด ์ ์ด๋ ํ๋ ์์ด์ผ ํ๋ฉฐ, ์ผ๋ฐ ๋ธ๋ก์ ์์ ๋ชจ๋ ๊ฐ์์ผ ํ๋ค. ๊ฒ์์ ๋ธ๋ก์ ํฌํจ๋๋ฉด ์ ๋๊ณ , ๋ฌด์ง๊ฐ ๋ธ๋ก์ ์ผ๋ง๋ ๋ค์ด์๋ ์๊ด์๋ค. ๊ทธ๋ฃน์ ..

[BOJ] ๋ฐฑ์ค 21608๋ฒ ์์ด ์ด๋ฑํ๊ต - ํ์ด์ฌ(Python)
๋ฌธ์ ์์ด ์ด๋ฑํ๊ต์๋ ๊ต์ค์ด ํ๋ ์๊ณ , ๊ต์ค์ N×N ํฌ๊ธฐ์ ๊ฒฉ์๋ก ๋ํ๋ผ ์ ์๋ค. ํ๊ต์ ๋ค๋๋ ํ์์ ์๋ N2๋ช ์ด๋ค. ์ค๋์ ๋ชจ๋ ํ์์ ์๋ฆฌ๋ฅผ ์ ํ๋ ๋ ์ด๋ค. ํ์์ 1๋ฒ๋ถํฐ N2๋ฒ๊น์ง ๋ฒํธ๊ฐ ๋งค๊ฒจ์ ธ ์๊ณ , (r, c)๋ rํ c์ด์ ์๋ฏธํ๋ค. ๊ต์ค์ ๊ฐ์ฅ ์ผ์ชฝ ์ ์นธ์ (1, 1)์ด๊ณ , ๊ฐ์ฅ ์ค๋ฅธ์ชฝ ์๋ซ ์นธ์ (N, N)์ด๋ค. ์ ์๋์ ํ์์ ์์๋ฅผ ์ ํ๊ณ , ๊ฐ ํ์์ด ์ข์ํ๋ ํ์ 4๋ช ๋ ๋ชจ๋ ์กฐ์ฌํ๋ค. ์ด์ ๋ค์๊ณผ ๊ฐ์ ๊ท์น์ ์ด์ฉํด ์ ํด์ง ์์๋๋ก ํ์์ ์๋ฆฌ๋ฅผ ์ ํ๋ ค๊ณ ํ๋ค. ํ ์นธ์๋ ํ์ ํ ๋ช ์ ์๋ฆฌ๋ง ์์ ์ ์๊ณ , |r1 - r2| + |c1 - c2| = 1์ ๋ง์กฑํ๋ ๋ ์นธ์ด (r1, c1)๊ณผ (r2, c2)๋ฅผ ์ธ์ ํ๋ค๊ณ ํ๋ค. ๋น์ด์๋ ์นธ ์ค์์ ์ข์ํ๋ ํ์์ด ์ธ์ ํ..

[BOJ] ๋ฐฑ์ค 17144๋ฒ ๋ฏธ์ธ๋จผ์ง ์๋ ! - ํ์ด์ฌ(Python)
๋ฌธ์ ๋ฏธ์ธ๋จผ์ง๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํด ๊ตฌ์ฌ๊ณผ๋ ๊ณต๊ธฐ์ฒญ์ ๊ธฐ๋ฅผ ์ค์นํ๋ ค๊ณ ํ๋ค. ๊ณต๊ธฐ์ฒญ์ ๊ธฐ์ ์ฑ๋ฅ์ ํ ์คํธํ๊ธฐ ์ํด ๊ตฌ์ฌ๊ณผ๋ ์ง์ ํฌ๊ธฐ๊ฐ R×C์ธ ๊ฒฉ์ํ์ผ๋ก ๋ํ๋๊ณ , 1×1 ํฌ๊ธฐ์ ์นธ์ผ๋ก ๋๋ด๋ค. ๊ตฌ์ฌ๊ณผ๋ ๋ฐ์ด๋ ์ฝ๋ฉ ์ค๋ ฅ์ ์ด์ฉํด ๊ฐ ์นธ (r, c)์ ์๋ ๋ฏธ์ธ๋จผ์ง์ ์์ ์ค์๊ฐ์ผ๋ก ๋ชจ๋ํฐ๋งํ๋ ์์คํ ์ ๊ฐ๋ฐํ๋ค. (r, c)๋ rํ c์ด์ ์๋ฏธํ๋ค. ๊ณต๊ธฐ์ฒญ์ ๊ธฐ๋ ํญ์ 1๋ฒ ์ด์ ์ค์น๋์ด ์๊ณ , ํฌ๊ธฐ๋ ๋ ํ์ ์ฐจ์งํ๋ค. ๊ณต๊ธฐ์ฒญ์ ๊ธฐ๊ฐ ์ค์น๋์ด ์์ง ์์ ์นธ์๋ ๋ฏธ์ธ๋จผ์ง๊ฐ ์๊ณ , (r, c)์ ์๋ ๋ฏธ์ธ๋จผ์ง์ ์์ Ar,c์ด๋ค. 1์ด ๋์ ์๋ ์ ํ ์ผ์ด ์์๋๋ก ์ผ์ด๋๋ค. ๋ฏธ์ธ๋จผ์ง๊ฐ ํ์ฐ๋๋ค. ํ์ฐ์ ๋ฏธ์ธ๋จผ์ง๊ฐ ์๋ ๋ชจ๋ ์นธ์์ ๋์์ ์ผ์ด๋๋ค. (r, c)์ ์๋ ๋ฏธ์ธ๋จผ์ง๋ ์ธ์ ํ ๋ค ๋ฐฉํฅ์ผ๋ก ํ์ฐ๋๋ค. ์ธ์ ..

[BOJ] ๋ฐฑ์ค 15685๋ฒ ๋๋๊ณค ์ปค๋ธ - ํ์ด์ฌ(Python)
๋ฌธ์ ๋๋๊ณค ์ปค๋ธ๋ ๋ค์๊ณผ ๊ฐ์ ์ธ ๊ฐ์ง ์์ฑ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ์ด์ฐจ์ ์ขํ ํ๋ฉด ์์์ ์ ์๋๋ค. ์ขํ ํ๋ฉด์ x์ถ์ → ๋ฐฉํฅ, y์ถ์ ↓ ๋ฐฉํฅ์ด๋ค. ์์ ์ ์์ ๋ฐฉํฅ ์ธ๋ 0์ธ๋ ๋๋๊ณค ์ปค๋ธ๋ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ๊ธธ์ด๊ฐ 1์ธ ์ ๋ถ์ด๋ค. ์๋ ๊ทธ๋ฆผ์ (0, 0)์์ ์์ํ๊ณ , ์์ ๋ฐฉํฅ์ ์ค๋ฅธ์ชฝ์ธ 0์ธ๋ ๋๋๊ณค ์ปค๋ธ์ด๋ค. 1์ธ๋ ๋๋๊ณค ์ปค๋ธ๋ 0์ธ๋ ๋๋๊ณค ์ปค๋ธ๋ฅผ ๋ ์ ์ ๊ธฐ์ค์ผ๋ก ์๊ณ ๋ฐฉํฅ์ผ๋ก 90๋ ํ์ ์ํจ ๋ค์ 0์ธ๋ ๋๋๊ณค ์ปค๋ธ์ ๋ ์ ์ ๋ถ์ธ ๊ฒ์ด๋ค. ๋ ์ ์ด๋ ์์ ์ ์์ ์ ๋ถ์ ํ๊ณ ์ด๋ํ์ ๋, ๊ฐ์ฅ ๋จผ ๊ฑฐ๋ฆฌ์ ์๋ ์ ์ ์๋ฏธํ๋ค. 2์ธ๋ ๋๋๊ณค ์ปค๋ธ๋ 1์ธ๋๋ฅผ ๋ง๋ ๋ฐฉ๋ฒ์ ์ด์ฉํด์ ๋ง๋ค ์ ์๋ค. (ํ๋์ ์ ๋ถ์ ์๋ก ์ถ๊ฐ๋ ์ ๋ถ์ ๋ํ๋ธ๋ค) 3์ธ๋ ๋๋๊ณค ์ปค๋ธ๋ 2์ธ๋ ๋๋๊ณค ์ปค๋ธ..

[BOJ] ๋ฐฑ์ค 2133๋ฒ ํ์ผ ์ฑ์ฐ๊ธฐ - ํ์ด์ฌ(Python)
๋ฌธ์ 3×N ํฌ๊ธฐ์ ๋ฒฝ์ 2×1, 1×2 ํฌ๊ธฐ์ ํ์ผ๋ก ์ฑ์ฐ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํด๋ณด์. ์ ๋ ฅ ์ฒซ์งธ ์ค์ N(1 ≤ N ≤ 30)์ด ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ๊ฒฝ์ฐ์ ์๋ฅผ ์ถ๋ ฅํ๋ค. https://www.acmicpc.net/problem/2133 2133๋ฒ: ํ์ผ ์ฑ์ฐ๊ธฐ 3×N ํฌ๊ธฐ์ ๋ฒฝ์ 2×1, 1×2 ํฌ๊ธฐ์ ํ์ผ๋ก ์ฑ์ฐ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํด๋ณด์. www.acmicpc.net ๐ก ํ์ด ๋ฐ ์ฝ๋ n = int(input()) dp = [0] * (n + 1) dp[0] = 1 for i in range(2, n+1, 2): dp[i] += dp[i-2] * 3 for j in range(0, i-2, 2): dp[i] += dp[j] * 2 print(dp[n]) ๊ฐ๋จํด ๋ณด์ด์ง๋ง ๋ง๋งํ๊ฒ ๋ด์๋ ์๋๋ D..

[BOJ] ๋ฐฑ์ค 2294๋ฒ ๋์ 2 - ํ์ด์ฌ(Python)
๋ฌธ์ n๊ฐ์ง ์ข ๋ฅ์ ๋์ ์ด ์๋ค. ์ด ๋์ ๋ค์ ์ ๋นํ ์ฌ์ฉํด์, ๊ทธ ๊ฐ์น์ ํฉ์ด k์์ด ๋๋๋ก ํ๊ณ ์ถ๋ค. ๊ทธ๋ฌ๋ฉด์ ๋์ ์ ๊ฐ์๊ฐ ์ต์๊ฐ ๋๋๋ก ํ๋ ค๊ณ ํ๋ค. ๊ฐ๊ฐ์ ๋์ ์ ๋ช ๊ฐ๋ผ๋ ์ฌ์ฉํ ์ ์๋ค. ์ฌ์ฉํ ๋์ ์ ๊ตฌ์ฑ์ด ๊ฐ์๋ฐ, ์์๋ง ๋ค๋ฅธ ๊ฒ์ ๊ฐ์ ๊ฒฝ์ฐ์ด๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ n, k๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) ๋ค์ n๊ฐ์ ์ค์๋ ๊ฐ๊ฐ์ ๋์ ์ ๊ฐ์น๊ฐ ์ฃผ์ด์ง๋ค. ๋์ ์ ๊ฐ์น๋ 100,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๊ฐ์น๊ฐ ๊ฐ์ ๋์ ์ด ์ฌ๋ฌ ๋ฒ ์ฃผ์ด์ง ์๋ ์๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ์ฌ์ฉํ ๋์ ์ ์ต์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค. ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ค. https://www.acmicpc.net/problem/2294 2294๋ฒ: ๋์ 2 ์ฒซ์งธ ์ค์ n, k๊ฐ..

[BOJ] ๋ฐฑ์ค 1890๋ฒ ์ ํ - ํ์ด์ฌ(Python)
๋ฌธ์ N×N ๊ฒ์ํ์ ์๊ฐ ์ ํ์ ธ ์๋ค. ์ด ๊ฒ์์ ๋ชฉํ๋ ๊ฐ์ฅ ์ผ์ชฝ ์ ์นธ์์ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ ์๋ ์นธ์ผ๋ก ๊ท์น์ ๋ง๊ฒ ์ ํ๋ฅผ ํด์ ๊ฐ๋ ๊ฒ์ด๋ค. ๊ฐ ์นธ์ ์ ํ์๋ ์๋ ํ์ฌ ์นธ์์ ๊ฐ ์ ์๋ ๊ฑฐ๋ฆฌ๋ฅผ ์๋ฏธํ๋ค. ๋ฐ๋์ ์ค๋ฅธ์ชฝ์ด๋ ์๋์ชฝ์ผ๋ก๋ง ์ด๋ํด์ผ ํ๋ค. 0์ ๋ ์ด์ ์งํ์ ๋ง๋ ์ข ์ฐฉ์ ์ด๋ฉฐ, ํญ์ ํ์ฌ ์นธ์ ์ ํ์๋ ์๋งํผ ์ค๋ฅธ์ชฝ์ด๋ ์๋๋ก ๊ฐ์ผ ํ๋ค. ํ ๋ฒ ์ ํ๋ฅผ ํ ๋, ๋ฐฉํฅ์ ๋ฐ๊พธ๋ฉด ์ ๋๋ค. ์ฆ, ํ ์นธ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ ํ๋ฅผ ํ๊ฑฐ๋, ์๋๋ก ์ ํ๋ฅผ ํ๋ ๋ ๊ฒฝ์ฐ๋ง ์กด์ฌํ๋ค. ๊ฐ์ฅ ์ผ์ชฝ ์ ์นธ์์ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ ์๋ ์นธ์ผ๋ก ๊ท์น์ ๋ง๊ฒ ์ด๋ํ ์ ์๋ ๊ฒฝ๋ก์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ๊ฒ์ ํ์ ํฌ๊ธฐ N (4 ≤ N ≤ 100)์ด ์ฃผ์ด์ง๋ค. ๊ทธ ๋ค์ N๊ฐ ์ค์๋ ๊ฐ ์นธ..

[BOJ] ๋ฐฑ์ค 16236๋ฒ ์๊ธฐ ์์ด - ํ์ด์ฌ(Python)
๋ฌธ์ N×N ํฌ๊ธฐ์ ๊ณต๊ฐ์ ๋ฌผ๊ณ ๊ธฐ M๋ง๋ฆฌ์ ์๊ธฐ ์์ด 1๋ง๋ฆฌ๊ฐ ์๋ค. ๊ณต๊ฐ์ 1×1 ํฌ๊ธฐ์ ์ ์ฌ๊ฐํ ์นธ์ผ๋ก ๋๋์ด์ ธ ์๋ค. ํ ์นธ์๋ ๋ฌผ๊ณ ๊ธฐ๊ฐ ์ต๋ 1๋ง๋ฆฌ ์กด์ฌํ๋ค. ์๊ธฐ ์์ด์ ๋ฌผ๊ณ ๊ธฐ๋ ๋ชจ๋ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๊ณ ์๊ณ , ์ด ํฌ๊ธฐ๋ ์์ฐ์์ด๋ค. ๊ฐ์ฅ ์ฒ์์ ์๊ธฐ ์์ด์ ํฌ๊ธฐ๋ 2์ด๊ณ , ์๊ธฐ ์์ด๋ 1์ด์ ์ํ์ข์ฐ๋ก ์ธ์ ํ ํ ์นธ์ฉ ์ด๋ํ๋ค. ์๊ธฐ ์์ด๋ ์์ ์ ํฌ๊ธฐ๋ณด๋ค ํฐ ๋ฌผ๊ณ ๊ธฐ๊ฐ ์๋ ์นธ์ ์ง๋๊ฐ ์ ์๊ณ , ๋๋จธ์ง ์นธ์ ๋ชจ๋ ์ง๋๊ฐ ์ ์๋ค. ์๊ธฐ ์์ด๋ ์์ ์ ํฌ๊ธฐ๋ณด๋ค ์์ ๋ฌผ๊ณ ๊ธฐ๋ง ๋จน์ ์ ์๋ค. ๋ฐ๋ผ์, ํฌ๊ธฐ๊ฐ ๊ฐ์ ๋ฌผ๊ณ ๊ธฐ๋ ๋จน์ ์ ์์ง๋ง, ๊ทธ ๋ฌผ๊ณ ๊ธฐ๊ฐ ์๋ ์นธ์ ์ง๋๊ฐ ์ ์๋ค. ์๊ธฐ ์์ด๊ฐ ์ด๋๋ก ์ด๋ํ ์ง ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ๋ค. ๋ ์ด์ ๋จน์ ์ ์๋ ๋ฌผ๊ณ ๊ธฐ๊ฐ ๊ณต๊ฐ์ ์๋ค๋ฉด ์๊ธฐ ์์ด๋ ์๋ง..