๐งฉ Problem Solving/[๋ฐฑ์ค]
2563๋ฒ: ์์ข
์ด ์ฒซ์งธ ์ค์ ์์ข
์ด์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด์ด ๋์งธ ์ค๋ถํฐ ํ ์ค์ ํ๋์ฉ ์์ข
์ด๋ฅผ ๋ถ์ธ ์์น๊ฐ ์ฃผ์ด์ง๋ค. ์์ข
์ด๋ฅผ ๋ถ์ธ ์์น๋ ๋ ๊ฐ์ ์์ฐ์๋ก ์ฃผ์ด์ง๋๋ฐ ์ฒซ ๋ฒ์งธ ์์ฐ์๋ ์์ข
์ด์ ์ผ์ชฝ ๋ณ www.acmicpc.net 2์ฐจ์ ๋ฆฌ์คํธ๋ฅผ ํ์ฉํ ๊ฐ๋จํ ๋ฌธ์ . ์์ด๋์ด ์ธ๋ป ๋ณด๊ธฐ์ ๊ท์ฐฎ์ ๋ฌธ์ ๋ผ๊ณ ๋๊ปด์ง ์ ์๋ค. ๊ทผ๋ฐ ๋ฌธ์ ์์ ์ ๊ณต๋ ๋ฒ์๊ฐ 100 100์ด๋ผ๋ ๋งค์ฐ ์์ ๋ฒ์์ด๋ค. ์ด๋ฐ ๊ฒฝ์ฐ๋ ๋ชจ๋ ์ขํ๋ฅผ 2์ฐจ์ ๋ฆฌ์คํธ๋ก ๊ฐ๋จํ๊ฒ ํด๊ฒฐ ๊ฐ๋ฅํ๋ค. ๋จผ์ 100 * 100 ์ ์ด์ฐจ์ ๋ฆฌ์คํธ์์ ๊ฐ์ ์ ๋ถ False๋ก ์ ์ธํด ์ค๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ ์์ข
์ด๊ฐ ์๋ ์์ญ์ ์ขํ๋ค์ True๋ก ๋ฐ๊ฟ์ฃผ๊ณ ๋ง์ง๋ง์ผ๋ก True์ ๊ฐ์๋ฅผ ์ธ์ด์ ์ถ๋ ฅํด์ฃผ๋ฉด ๋๋ค. ์ ์ฒด ์ฝ๋ N = int(input()) paper..
๐งฉ Problem Solving/[๋ฐฑ์ค]
7579๋ฒ: ์ฑ ์
๋ ฅ์ 3์ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ฒซ ์ค์๋ ์ ์ N๊ณผ M์ด ๊ณต๋ฐฑ๋ฌธ์๋ก ๊ตฌ๋ถ๋์ด ์ฃผ์ด์ง๋ฉฐ, ๋์งธ ์ค๊ณผ ์
์งธ ์ค์๋ ๊ฐ๊ฐ N๊ฐ์ ์ ์๊ฐ ๊ณต๋ฐฑ๋ฌธ์๋ก ๊ตฌ๋ถ๋์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์ N๊ฐ์ ์ ์๋ ํ์ฌ ํ www.acmicpc.net ๋
์ ์์ฉ๋ฌธ์ . ์์ด๋์ด ๋
์ ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ณธ ์๋ฆฌ๋ฅผ ์ด์ฉํด ํด๊ฒฐํ ์ ์๋ค. ์ด์ฐจ์ ๋ฆฌ์คํธ backpack[x][y]๋ x๋ฒ์งธ ์ฑ๊น์ง y๋น์ฉ์ผ๋ก ์ป์ ์ ์๋ ์ต๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ์ด๋ค. 1. ์ด์ ํฌ๊ธฐ๋ ์ ์๋ ๋ชจ๋ ๋น์ฉ์ ์ดํฉ์ผ๋ก ํ๋ค. 2 - 1. ํ์ฌ ์ฑ์ ๋น์ฉ costList [i]๊ฐ j๋ณด๋ค ํฌ๋ฉด ๊ทธ๋๋ก ๋๋ค. backpack[i][j] = backpack[i - 1][j] 2 - 2. j ๊ฐ ๋ ํฌ๋ฉด ํ์ฌ ์ฑ์ ์ ๋ฌด๋ฅผ ๋น๊ตํด ๊ฐ์ ์
๋ฐ์ดํธํด์ค๋ค. backpack[i..
๐งฉ Problem Solving/[๋ฐฑ์ค]
4179๋ฒ: ๋ถ!์
๋ ฅ์ ์ฒซ์งธ ์ค์๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ ๋ ์ ์ R๊ณผ C๊ฐ ์ฃผ์ด์ง๋ค. ๋จ, 1 ≤ R, C ≤ 1000 ์ด๋ค. R์ ๋ฏธ๋ก ํ์ ๊ฐ์, C๋ ์ด์ ๊ฐ์์ด๋ค. ๋ค์ ์
๋ ฅ์ผ๋ก R์ค๋์ ๊ฐ๊ฐ์ ๋ฏธ๋ก ํ์ด ์ฃผ์ด์ง๋ค. ๊ฐ๊ฐ์ ๋ฌธ์www.acmicpc.net ๋ฐ๋์ ์ฝ์งํ BFS๋ฌธ์ . ๋ฌธ์ ๊ฐ ์ด๋ ต๊ฒ ๋๊ปด์ง์ง ์์๋๋ฐ ์๊ฐ์ด๊ณผ, ๋ฉ๋ชจ๋ฆฌ์ด๊ณผ ๋ฑ๋ฑ ์ค๋ตํํฐ๊ฐ ๋๋ค.์์ด๋์ด- ๋ฌธ์ ์์ ํ์ถ ์กฐ๊ฑด์ด ๊ฐ์ฅ์๋ฆฌ์ ์ ํ ๊ณต๊ฐ์์ ํ์ถํ ์ ์๋ค๊ณ ํ๋ค. ์ด ๋ง์ ์งํ์ด๊ฐ ๊ฐ์ฅ์๋ฆฌ์ ๋์ฐฉ๋ง ํ๋ฉด ์๋์ผ๋ก ํ์ถ ๊ฐ๋ฅํ๋ค. - ์์๋ ์งํ์ด๊ฐ ํ๋ฒ ์ด๋ํ๊ณ ๋์ ๋ถ์ด ํ์ฐ๋๊ณ 1์ด๊ฐ ์ง๋๋ค. - ๋ง์ฝ ์งํ์ด๊ฐ ์ด๋ํ ํ ์์น์ ๋ถ์ด ๋ฒ์ง๋ค๋ฉด ๊ทธ๊ณณ์ ๋ชป ๊ฐ๋ ์์น์ด๋ค. - ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์งํ๊ณผ ๋ถ ๊ฐ๊ฐ์ ํ๋ฅผ ๋ง๋ค์ด์..
๐งฉ Problem Solving/[๋ฐฑ์ค]
2212๋ฒ: ์ผ์ ์ฒซ์งธ ์ค์ ์ผ์์ ๊ฐ์ N(1 ≤ N ≤ 10,000), ๋์งธ ์ค์ ์ง์ค๊ตญ์ ๊ฐ์ K(1 ≤ K ≤ 1000)๊ฐ ์ฃผ์ด์ง๋ค. ์
์งธ ์ค์๋ N๊ฐ์ ์ผ์์ ์ขํ๊ฐ ํ ๊ฐ์ ์ ์๋ก N๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ์ขํ ์ฌ์ด์๋ ๋น ์นธ์ด ํ๋ ์ www.acmicpc.net ๋ฌธ์ ํด์์ ์ํด์ผ ํ๋ ๋ฌธ์ . ์์ด๋์ด ๋จผ์ ๋ฌธ์ ๊ฐ ์๊ตฌํ๋ ๊ฒ์ ์ดํดํ๋ ๊ฒ ํ์ํ๋ค. ๋ฌธ์ ์์๋ ๊ฐ ์ง์ค๊ตญ์ ์์ ๊ฐ๋ฅ์์ญ์ ๊ฑฐ๋ฆฌ์ ํฉ์ ์ต์๊ฐ์ ๊ตฌํ๋ผ๊ณ ํ๋ค. ์ด๋ ์๋ ์์ ๋ฅผ ๋ณด๋ฉฐ ์ค๋ช
ํด ๋ณด๋ฉด, ์ด๋ฐ ์์ผ๋ก ๊ฐ ์ผ์๋ค์ ์ปค๋ฒํ ์ ์๋ ์ต์ ์์ญ์ ํฌ๊ธฐ๋ฅผ ๊ตฌํ๋ฉด ๋๋ค. ๊ทธ๋ฆผ์ ๋ณด๋ฉด ์๋ค์ํผ ๋ฌธ์ ์ ๋ต์ ๊ตฌํ ๋ ์ผ์์ ์์น๋ ๊ฒน์ณ๋ ์๊ด์๋ค. ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด, ์ผ์๋ค์ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ๋จผ ๊ณณ๋ถํฐ ์ฐจ๋ก๋๋ก ์ง์์ฃผ๋ฉด ๋๋ค. ์๋ฅผ ๋ค..
๐งฉ Problem Solving/[๋ฐฑ์ค]
16918๋ฒ: ๋ด๋ฒ๋งจ ์ฒซ์งธ ์ค์ R, C, N (1 ≤ R, C, N ≤ 200)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ R๊ฐ์ ์ค์ ๊ฒฉ์ํ์ ์ด๊ธฐ ์ํ๊ฐ ์ฃผ์ด์ง๋ค. ๋น ์นธ์ '.'๋ก, ํญํ์ 'O'๋ก ์ฃผ์ด์ง๋ค. www.acmicpc.net BFS๋๋์ ๊ตฌํ ๋ฌธ์ ์์ด๋์ด ํญํ์ ์ถ๊ฐํ๊ณ ํฐํธ๋ฆฌ๋ ๊ณผ์ ์์ ํ๋ฅผ ์ฌ์ฉํ๋ฉด ํธํ ๊ฑฐ ๊ฐ์ deque๋ฅผ ์ฌ์ฉํ๋ค. 1์ด๋ง๋ค ์ด๋ป๊ฒ ๊ฒฉ์ํ์ ๋ณํ๋์ง ์๊ฐํ๋ฉฐ ์ฝ๋๋ฅผ ์์ฑํ๋ค. ์ ์ฒด ์ฝ๋ from collections import deque dx = [0, 0, -1, 1] dy = [1, -1, 0, 0] grid = [] # ๊ฒฉ์ํ boomList = deque() # ํญํ ์ขํ ๋ฆฌ์คํธ R, C, N = map(int, input().split()) for i in range..
๐งฉ Problem Solving/[๋ฐฑ์ค]
1697๋ฒ: ์จ๋ฐ๊ผญ์ง ์๋น์ด๋ ๋์๊ณผ ์จ๋ฐ๊ผญ์ง์ ํ๊ณ ์๋ค. ์๋น์ด๋ ํ์ฌ ์ N(0 ≤ N ≤ 100,000)์ ์๊ณ , ๋์์ ์ K(0 ≤ K ≤ 100,000)์ ์๋ค. ์๋น์ด๋ ๊ฑท๊ฑฐ๋ ์๊ฐ์ด๋์ ํ ์ ์๋ค. ๋ง์ฝ, ์๋น์ด์ ์์น๊ฐ X์ผ www.acmicpc.net BFS๋ฅผ ํ์ฉํ ์ต์ ์๊ฐ์ ๊ตฌํ๋ ๋ฌธ์ . ์์ด๋์ด ํ์ฌ ์์น(x)์์ ๊ฐ ์ ์๋ ๊ฑฐ๋ฆฌ๋ x - 1, x + 1, x * 2์ด๋ค. ๊ฐ ๊ฒฝ์ฐ๋ง๋ค if๋ฌธ์ ํตํด ์กฐ๊ฑด์ ํ์ธํด์ค๋ค. ์ด์ ์ ๋ฐฉ๋ฌธํ์ง ์์ ์์น๋ผ๋ฉด ๊ทธ ์์น๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ๋ค์ BFS๋ฐฉ์์ผ๋ก ์ํํ๋ฉฐ ์๊ฐ์ ์ ์ฅํด์ค๋ค. ์ ์ฒด ์ฝ๋ from collections import deque N, K = map(int, input().split()) deq = deque() deq.a..
๐งฉ Problem Solving/[๋ฐฑ์ค]
15666๋ฒ: N๊ณผ M (12) ํ ์ค์ ํ๋์ฉ ๋ฌธ์ ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์ด์ ์ถ๋ ฅํ๋ค. ์ค๋ณต๋๋ ์์ด์ ์ฌ๋ฌ ๋ฒ ์ถ๋ ฅํ๋ฉด ์๋๋ฉฐ, ๊ฐ ์์ด์ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํด์ผ ํ๋ค. ์์ด์ ์ฌ์ ์์ผ๋ก ์ฆ๊ฐํ๋ ์์๋ก ์ถ๋ ฅํด www.acmicpc.net ๋ฐฑํธ๋ํน ๋ฌธ์ ์์ด๋์ด ์ด์ฐจํผ ๊ฐ์ ์ซ์๋ฅผ ๋ฐ๋ณตํด์ ์ฌ์ฉํด๋ ๋๋ฏ๋ก, ๋ฌธ์ ์์ ์ ๊ณตํ N๊ฐ์ ์์์ ์ค๋ณต์ ์ ๊ฑฐํด ์ค๋ค. ๋ฐฑํธ๋ํน์ ํ์ฉํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ฉด ๋๋ค. ์ ์ฒด ์ฝ๋ N, M = map(int, input().split()) numList = [int(x) for x in input().split()] numList = sorted(list(set(numList))) # ์ค๋ณต ์ ๊ฑฐํ ์ ๋ ฌ n = len(numList) answer = list() seq..
๐งฉ Problem Solving/[๋ฐฑ์ค]
14940๋ฒ: ์ฌ์ด ์ต๋จ๊ฑฐ๋ฆฌ ์ง๋์ ํฌ๊ธฐ n๊ณผ m์ด ์ฃผ์ด์ง๋ค. n์ ์ธ๋ก์ ํฌ๊ธฐ, m์ ๊ฐ๋ก์ ํฌ๊ธฐ๋ค.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) ๋ค์ n๊ฐ์ ์ค์ m๊ฐ์ ์ซ์๊ฐ ์ฃผ์ด์ง๋ค. 0์ ๊ฐ ์ ์๋ ๋
์ด๊ณ 1์ ๊ฐ ์ ์๋ ๋
, 2๋ ๋ชฉํ์ง์ ์ด www.acmicpc.net ์ง๋์์ ๋ชจ๋ ์ง์ ์ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ๋ฌธ์ . ์์ด๋์ด BFS๋ฅผ ์ฌ์ฉํ๋ค. ์ง๋์์ ์ต๋จ๊ฑฐ๋ฆฌ == BFS ๊ฑฐ์ ๊ณต์์ฒ๋ผ ๋จธ๋ฆฌ์์ ๋์จ๋ค... ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ชฉํ ์ง์ (2๋ก ํ์)๊ณผ ๊ฐ ์ ์๋ ๋
(0์ผ๋ก ํ์)์ ์ขํ๋ ๋ฐ๋ก ์ ์ฅํด ๋๋ค. ์ ์ฒด ์ฝ๋ from collections import deque dx = [0, 1, 0, -1] dy = [1, 0, -1, 0] start_x, start_y = 0, 0 ..