๐์ฝ๋ฉํ
์คํธ:CodingTest
swea 4615 ์ฌ๋ฏธ์๋ ์ค์
๋ก ๊ฒ์ ์ฌ์ฉ์ธ์ด : PYTHON ํ์ด ๋ฐฉํฅ๋ฒกํฐ๋ฅผ ์ด์ฉํ์ฌ ๋ชจ๋ ๋ฐฉํฅ์ ๋ฐฑํธ๋ํน ํ๋ฉฐ ์กฐ๊ฑด์ ๋ถํฉํ๋ฉด ๋์ ์์์ ๋ณ๊ฒฝํ๋ค. ( ๋ฐฑํธ๋ํน์ด ๋ง๋๊ฑด๊ฐ..? ) ์กฐ๊ฑด์ ๋ถํฉํ๋ค๋ ๋ง์ WBBBW ํน์ BWWWWWB์ ๊ฐ์ ๊ฒฝ์ฐ์ด๋ค. ๋ฐฑํธ๋ํน ๋ฐฉํฅ ๋ฒกํฐ๊ฐ ๊ฐ๋ฆฌํค๋ ๋ฐฉํฅ ํ ์นธ ์์ ์์์ด ํ์ฌ ์์๊ณผ ๋ค๋ฅด๋ฉด flag๋ณ์๋ฅผ 1๋ก ๋ฐ๊พธ๊ณ ํ ์นธ ์์ ์์์ ํ์ฌ ์์์ผ๋ก ๋ณ๊ฒฝํ๊ณ ๋ฐฑํธ๋ํน ํจ์๋ฅผ ์ํํ๋ค. ์ด๋ ๋ณ๊ฒฝํ๊ธฐ ์ ์์์ ๋ณ์์ ์ ์ฅํด๋์ด์ผ ํ๋ค. ๋ง์ฝ ์กฐ๊ฑด์ ๋ถํฉํ์ง ์๋๋ค๋ฉด ์์๋ณต๊ตฌ ํด์ผํ๊ธฐ ๋๋ฌธ์ด๋ค. flag๋ณ์ : 2 1 1 1 2 ์ ๊ฐ์ด ํ ์ซ์๊ฐ ๋ค๋ฅธ ์ซ์๋ฅผ ๊ฐ์ธ๋์ง ํ์ธํ๊ธฐ ์ํด ํ์ํ ๋ณ์์ด๋ค. ์ฌ๊ทํจ์๋ก ํธ์ถํ check()ํจ์๊ฐ False๋ฅผ ๋ฆฌํดํ๋ค๋ฉด ์กฐ..
๐์ฝ๋ฉํ
์คํธ:CodingTest
swea 1216 ํ๋ฌธ2 ์ฌ์ฉ์ธ์ด : PYTHON ํ์ด ์๊ฐ๋ณต์ก๋๋ฅผ ์ค์ด๊ธฐ ์ํด ๊ธธ์ด๊ฐ 1์ธ ๋ฌธ์ฅ๋ถํฐ ์ค๋ฆ์ฐจ์์ผ๋ก 100๊น์ง ๊ฒ์ฌํ๋ ๊ฒ์ด ์๋ 100๋ถํฐ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๊ฒ์ฌ๋ฅผ ํด์ผํ๋ค. ๋ด๋ฆผ์ฐจ์์ผ๋ก ๊ฒ์ฌ๋ฅผ ์ํํ๋ค๊ฐ ๊ทธ ๋ฌธ์ฅ์ด ํ๋ฌธ์ด ๋ง๋ค๋ฉด ๊ฐ์ฅ ๊ธด ํ๋ฌธ์ด ๋๊ธฐ ๋๋ฌธ์ด๋ค. ํ ๋ฐฉํฅ์ผ๋ก ๊ฐ์ฅ ๊ธด ํ๋ฌธ์ ๊ธธ์ด์ ์ด ๋ฐฉํฅ์ผ๋ก ๊ฐ์ฅ ๊ธด ํ๋ฌธ์ ๊ธธ์ด ์ค ๋ ํฐ ๊ฐ์ด ์ ๋ต์ด ๋๋ค. ์ด ์ธ ๊ฐ์ ํจ์๋ฅผ ์ด์ฉํ์๋ค. ํ๋ฌธ์ธ์ง ํ์ธํ๋ checkํจ์ ํ ๋ฐฉํฅ์ผ๋ก ํ์ํ๋ find_rowํจ์ ์ด ๋ฐฉํฅ์ผ๋ก ํ์ํ๋ find_colํจ์ (ํจ์ ์์์ find_row๋ฅผ ํธ์ถํ๊ณ ํฌ๊ธฐ๋ฅผ ๋น๊ตํ ๋ค ์ต์ข
์ ๋ต์ returnํจ) ์ฝ๋ def check(st): for i in range(len(st)//2): if st[i]!=st..
๐์ฝ๋ฉํ
์คํธ:CodingTest
swea 2814 ์ต์ฅ ๊ฒฝ๋ก ์ฌ์ฉ์ธ์ด : PYTHON ํ์ด ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ์์ ์ต์ฅ ๊ฒฝ๋ก์ ๊ธธ์ด๋ฅผ ๊ตฌํด์ ํ๋ค. ์ต์ฅ๊ฒฝ๋ก๋ ๊ทธ๋ํ์ ์ ์ ๋ค ์ค ๋ ์ด์ ์ด๋ํ ์ ์์๋ ๊น์ง ํ์ํ ๊ฒฝ๋ก ๊ธธ์ด ์ค ๊ฐ์ฅ ํฐ ๊ฐ์ด๋ค. ๋ ์ด์ ์ด๋ํ ์ ์์๋ ๊น์ง ํ์ํ๊ธฐ ์ํด dfs๋ฅผ ํ์ฉํ์๋ค. 1.์ฐ์ ์
๋ ฅ์ด ์ฐ๊ฒฐ๋ ๊ฐ์ ๋ค๋ก ์ฃผ์ด์ง๊ธฐ ๋๋ฌธ์ ์ด๋ค์ 2์ฐจ์ ํ๋ ฌ๋ก ์ ๋ฆฌํด์ ๊ทธ๋ํ๋ก ํํํ์๋ค. ๐ for _ in range(M): l.append(list(map(int,input().split()))) # ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ์ฐ๊ฒฐ๋ ๊ฐ์ for j in l: # 2์ฐจ์ ํ๋ ฌ์ ๊ทธ๋ํ๋ก ํํ graph[j[0]].append(j[1]) graph[j[1]].append(j[0]) 2.๋ค์์ผ๋ก ๋ชจ๋ ์ ์ ๋ค์ ๋์๊ฐ๋ฉฐ dfs๋ฅผ..
๐์ฝ๋ฉํ
์คํธ:CodingTest
swea 1244 [S/W ๋ฌธ์ ํด๊ฒฐ ์์ฉ] 2์ผ์ฐจ - ์ต๋ ์๊ธ ์ฌ์ฉ์ธ์ด : PYTHON ํ์ด ๊ตฌํ์ ์ํ ์๊ฐ ๋ฐฑํธ๋ํน์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ์ค๋ณต์์ด ํ์ํ๋ค. ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ํ์ํ๋ฉฐ goal(์ฃผ์ด์ง ์ซ์๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๊ฐ)๊ณผ ์ฐจ์ด๊ฐ ๊ฐ์ฅ ์์ ๊ฐ์ด ์ ๋ต์ด๋ค. ๐ก goal : ์ด๋ํ์ ์ ํ์ด ์๋ค๊ณ ํ ๋, ์ซ์๋ฅผ swapํด์ ๋๋ฌํ ์ ์๋ ์ต๋๊ฐ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๊ฐ์ด๋ค. ๋ฐฑํธ๋ํน ์ซ์์นด๋ 1,2,3,4๊ฐ ์๋ค๊ณ ํ ๋ ๋ ๋ฒ ๊ตํํ ์ ์๋ ๋ชจ๋ ๊ฒฝ์ฐ๋ ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค. (xํ์๋ ์ค๋ณต๋๋ ๊ฒฝ์ฐ) ๋ฐ๋ก ์ง์ ์ ๊ตํํ ๊ฒฝ์ฐ๋ณด๋ค ๋ค์ ๊ฒฝ์ฐ๋ง ์กฐํํ๋ฉด ์ค๋ณต์์ด ๊ตํํ ์ ์๋ค. ๋ฐ๋ก ์ง์ ์ ๊ตํํ ๊ฒฝ์ฐ๋ฅผ ๊ธฐ์ตํ๊ธฐ ์ํด์ stack์ ํ์ฉํ์๋ค. ์ฝ๋ def backTracking(m): gl..
๐์ฝ๋ฉํ
์คํธ:CodingTest
๋ฐฑ์ค (BOJ) 14500 https://www.acmicpc.net/problem/14500 ์ฌ์ฉ์ธ์ด : PYTHON 1.๋ฌธ์ 2.ํ์ด ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ ๋ฌธ์ ์ด๋ค. ( ๋ค๋ฅธ ํ์ด๋ฅผ ์ถ๊ฐํ์์ต๋๋ค) ์๊ฐ์ ํ์ 2์ด์ธ๋ฐ 1์ต=1์ด์ ๋ฃฐ์ ๋์
ํ์๋ 2์ฒ8๋ฐฑ๋ง์ด ๋์ค๋ฏ๋ก ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด๋ ๋๋ค. 499*499*19*6 = 28,386,114 ํ์ ๋๋ ๋์นญ์ผ๋ก ๋ง๋ค ์ ์๋ ๋ชจ๋ ํ
ํธ๋ก๋ฏธ๋
ธ๋ฅผ 1๊ณผ 0์ ๋ฐฐ์ด๋ก ๋ง๋ ๋ค. 19๊ฐ์ ํ
ํธ๋ก๋ฏธ๋
ธ๋ค์ ๋์๊ฐ๋ฉฐ ์ข
์ด์ ๋ชจ๋ ๋ฐฐ์น ๊ฐ๋ฅํ ๊ตฌ์ญ์ ๋ฐฐ์นํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ๋ฐฐ์น์ค์์ ์ต๋๊ฐ์ ์ฐพ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํตํด์ ์ฐ์ฐ์ด ๋ณต์กํด ์ง ๋๋ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ณต์กํ ์ฐ์ฐ๋ค์ ๋ถํ ํ๋ฉด ์ข ๋ ์ฝ๊ฒ ๊ตฌํํ ์ ์์์ ์๊ฒ๋์๋ค. 3.์ฝ๋ import sys..
๐์ฝ๋ฉํ
์คํธ:CodingTest
๋ฐฑ์ค (BOJ) 1107 https://www.acmicpc.net/problem/1107 ์ฌ์ฉ์ธ์ด : PYTHON 1.๋ฌธ์ 2.ํ์ด 2-1. ์๋ํ๋ค๊ฐ ์คํจํ ํ์ด N : 5457 M : 3 ๊ณ ์ฅ๋ ๋ฒํผ : [5,7] ์ด๋ฉด ์
๋ ฅ์ด ๊ฐ๋ฅํ ๋ฒํผ๋ค์ [0,1,2,3,4,5,6,8,9]์ด๋ค. 5457์ ์ฒซ ๋ฒ์งธ ์ซ์ 5๊ฐ ์์ผ๋ฏ๋ก ์ฒซ ๋ฒ์งธ ์ซ์๋ฅผ 4 ํน์ 6์ ์
๋ ฅํ๋ ๊ฒ์ด ์ต์๋ก ์ด๋ํ ์ ์๋ ์๊ฐ ๋ ๊ฒ์ด๋ค. ์ด ๋ 4๋ฅผ ์
๋ ฅํ ๊ฒฝ์ฐ๋ ๋ค์ ์ซ์๋ฅผ ์ต๋ํ ํฐ ์๋ก ์
๋ ฅํด์ผ ํ๊ณ , 6์ ์
๋ ฅํ ๊ฒฝ์ฐ๋ ์ต๋ํ ์์์๋ฅผ ์
๋ ฅํด์ผ ํ๋ค๊ณ ์๊ฐํ์ฌ ๋ฌธ์ ๋ฅผ ํ๊ณ ์ ํ๋ค. 2-2. ์ฌ๋ฐ๋ฅธ ํ์ด ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ 0 ~ 999899+1 ๊น์ง ๋ฆฌ๋ชจ์ปจ์ผ๋ก ์
๋ ฅํ ์ ์๋ ๋ชจ๋ ์ซ์๋ค์ ๋น๊ตํ๋ฉฐ ์ต์๊ฐ์ ์ฐพ๋๋ค. N์ ..
๐์ฝ๋ฉํ
์คํธ:CodingTest
๋ฐฑ์ค (BOJ) 11053๋ฒ https://www.acmicpc.net/problem/11053 ์ฌ์ฉ์ธ์ด : PYTHON 1.๋ฌธ์ 2.ํ์ด A={10,20,10,30,20,50}์ ์๋ก ๋ค์ด ์๊ฐํด๋ณด์๋ค. dp[i] = A[0], A[1], ... A[i] ์ผ๋ '์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด'์์ A[i]์ ์์น(์ธ๋ฑ์ค)๊ฐ ์ด๋ค. i=0 ์ผ ๋ dp[0]๋ A[0] ์ฆ 10์ '์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด'={10} ์์ ์์น ์ฆ 1 ์ด๋ค. i=1 ์ผ ๋ dp[1]๋ A[1] ์ฆ 20์ '์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด'={10,20} ์์ ์์น ์ฆ 2 ์ด๋ค. i=2 ์ผ ๋ dp[2]๋ A[2] ์ฆ 10์ '์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด'={10,20} ์์ ์์น ์ฆ 1 ์ด๋ค. i=3 ์ผ..
๐์ฝ๋ฉํ
์คํธ:CodingTest
๋ฐฑ์ค (BOJ) 11052๋ฒ https://www.acmicpc.net/problem/11052 ์ฌ์ฉ์ธ์ด : PYTHON 1.๋ฌธ์ 2.ํ์ด ์ต์ ํด(์ต๋๊ฐ)์ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ฏ๋ก ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ ์ฌ์ฉํ์ฌ ํ ์ ์์๋ค. ์ต์ ํด์ ์ผ๋ถ๋ถ์ด ๊ทธ ๋ถ๋ถ์ ๋ํ ์ต์ ํด๊ฐ DP ์ํ์์ ์ธ์ฐ๋ ์ถ๋ฐ์ ์์ ์๊ฐํ๋ค. N์ด 4์ด๊ณ P1=1, P2=5, P3=6, P4=7์ธ ๊ฒฝ์ฐ ์ต๋๊ฐ = max(P4๋ฅผ ์ ํํ์ง ์์ ๊ฒฝ์ฐ, P4๋ฅผ ์ ํํ ๊ฒฝ์ฐ)์ด๋ค. ์ด๋ P4๋ฅผ ์ ํํ๋ฉด N์ ๊ฐฏ์๋ฅผ ๋ชจ๋ ์ฑ์ฐ๊ธฐ ๋๋ฌธ์ P4ํ๋๋ง ์ด ์ ์๋ค. ๋ฐ๋ผ์ max{(P1,P2,P3)์ ์กฐํฉ์ ์ด์ฉํด์ 4๋ฅผ ๋ง๋ค ์ ์๋ ์ต๋๊ฐ, 7}์ด ๋๋ค. ์ ์ต์ ํด์ ์ผ๋ถ๋ถ (P1,P2,P3)์ ์กฐํฉ์ ์ด์ฉํด์ 4๋ฅผ ๋ง๋ค ์ ์๋ ์ต๋๊ฐ = (P3๋ฅผ ..