Skip to content

Commit a4eef29

Browse files
authored
Merge pull request #70 from YoonYn9915/main
YoonYn9915 /10์›” 2์ฃผ์ฐจ / 2๋ฌธ์ œ
2 parents 39d8c20 + 081bbf0 commit a4eef29

File tree

2 files changed

+55
-0
lines changed

2 files changed

+55
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
n, m = map(int, input().split())
2+
3+
mtr = []
4+
cnt = []
5+
for i in range(n):
6+
mtr.append(input())
7+
8+
for a in range(n - 7):
9+
for b in range(m - 7): # 8*8๋กœ ์ž๋ฅด๊ธฐ ์œ„ํ•ด, -7ํ•ด์ค€๋‹ค
10+
w_index = 0 # ํฐ์ƒ‰์œผ๋กœ ์‹œ์ž‘
11+
b_index = 0 # ๊ฒ€์€์ƒ‰์œผ๋กœ ์‹œ์ž‘
12+
for i in range(a, a + 8): # ์‹œ์ž‘์ง€์ 
13+
for j in range(b, b + 8): # ์‹œ์ž‘์ง€์ 
14+
if (i + j) % 2 == 0: # ์ง์ˆ˜์ธ ๊ฒฝ์šฐ
15+
if mtr[i][j] != 'W': # W๊ฐ€ ์•„๋‹ˆ๋ฉด, ์ฆ‰ B์ด๋ฉด
16+
w_index += 1 # W๋กœ ์น ํ•˜๋Š” ๊ฐฏ์ˆ˜
17+
else: # W์ผ ๋•Œ
18+
b_index += 1 # B๋กœ ์น ํ•˜๋Š” ๊ฐฏ์ˆ˜
19+
else: # ํ™€์ˆ˜์ธ ๊ฒฝ์šฐ
20+
if mtr[i][j] != 'W': # W๊ฐ€ ์•„๋‹ˆ๋ฉด, ์ฆ‰ B์ด๋ฉด
21+
b_index += 1 # B๋กœ ์น ํ•˜๋Š” ๊ฐฏ์ˆ˜
22+
else:
23+
w_index += 1 # W๋กœ ์น ํ•˜๋Š” ๊ฐฏ์ˆ˜
24+
25+
cnt.append(w_index) # W๋กœ ์‹œ์ž‘ํ•  ๋•Œ ๊ฒฝ์šฐ์˜ ์ˆ˜
26+
cnt.append(b_index) # B๋กœ ์‹œ์ž‘ํ•  ๋•Œ ๊ฒฝ์šฐ์˜ ์ˆ˜
27+
print(min(cnt))
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import sys
2+
3+
# ๋‘ ๋ฌธ์ž์—ด ์ž…๋ ฅ
4+
a = sys.stdin.readline()
5+
b = sys.stdin.readline()
6+
7+
# ์ตœ์†Œ ํŽธ์ง‘ ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ์„ ์œ„ํ•œ DP ํ…Œ์ด๋ธ” ์ƒ์„ฑ
8+
dp = [[0]*(len(b)+1) for _ in range(len(a)+1)]
9+
10+
# ์ตœ์†Œ ํŽธ์ง‘ ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ
11+
for i in range(len(a)+1):
12+
for j in range(len(b)+1):
13+
# ์ฒซ ๋ฒˆ์งธ ํ–‰์ผ ๊ฒฝ์šฐ
14+
if (i == 0):
15+
dp[i][j] = j
16+
# ์ฒซ ๋ฒˆ์งธ ์—ด์ผ ๊ฒฝ์šฐ
17+
elif (j == 0):
18+
dp[i][j] = i
19+
else:
20+
# ํ˜„์žฌ ๋ฌธ์ž๊ฐ€ ๊ฐ™๋‹ค๋ฉด, ์™ผ์ชฝ ์œ„์— ํ•ด๋‹นํ•˜๋Š” ์ˆ˜๋ฅผ ๊ทธ๋Œ€๋กœ ๋Œ€์ž…
21+
if (a[i-1] == b[j-1]):
22+
dp[i][j] = dp[i-1][j-1]
23+
# ํ˜„์žฌ ๋ฌธ์ž๊ฐ€ ๋‹ค๋ฅด๋‹ค๋ฉด,
24+
# ์„ธ ๊ฐ€์ง€ ๊ฒฝ์šฐ[์‚ฝ์ž…(์™ผ์ชฝ), ์‚ญ์ œ(์œ„์ชฝ), ๊ต์ฒด(์™ผ์ชฝ ์œ„)] ์ค‘์—์„œ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ๊ณ  +1
25+
else:
26+
dp[i][j] = 1 + min(dp[i][j-1], dp[i-1][j], dp[i-1][j-1])
27+
28+
print(dp[len(a)][len(b)])

0 commit comments

Comments
ย (0)