728x90
[๋ฌธ์ ๋งํฌ] ๐
SW Expert Academy
SW ํ๋ก๊ทธ๋๋ฐ ์ญ๋ ๊ฐํ์ ๋์์ด ๋๋ ๋ค์ํ ํ์ต ์ปจํ ์ธ ๋ฅผ ํ์ธํ์ธ์!
swexpertacademy.com
ํ์ด
๊ฐ๋ก ํ๋ฌธ ๊ฒ์ฌ
for i in range(8):
for j in range(8 - length + 1):
row_slice = board[i][j:length + j]
if row_slice == row_slice[::-1]:
result += 1
- ๊ฐ๋ก ๋ฐฉํฅ์ผ๋ก ํ๋ฌธ์ ์ฐพ๋ ๋ฃจํ์ด๋ค.
- for i in range(8)
- ๊ธ์ํ์ ๊ฐ ํ(i๋ฒ์งธ ํ)์ ์์ฐจ์ ์ผ๋ก ํ์ธํ๋ค.
- for j in range(8 - length + 1)
- ๊ฐ ํ์์ length ๊ธธ์ด์ ๋ฌธ์์ด์ ์ถ์ถํ ์์ ์ธ๋ฑ์ค j ๋ฅผ ์ค์ ํ๋ค.
- 8 - length + 1์ ํ๋ฌธ์ ์ถ์ถํ ์ ์๋ ์์ ์ง์ ์ ๋ฒ์๋ฅผ ์ค์ ํ๋ค. (์๋ฅผ ๋ค์ด, length๊ฐ 4์ผ ๊ฒฝ์ฐ, ๊ฐ๋ฅํ ์์ ์ธ๋ฑ์ค๋ 0๋ถํฐ 4๊น์ง.)
- row_slice = board[i][j:j + length]
- board[i]์ j๋ฒ์งธ ์์น์์ length๋งํผ ์๋ฅธ ๋ฌธ์์ด์ row_slice์ ์ ์ฅํ๋ค.
- if row_slice == row_slice[::-1]
- row_slice๊ฐ ๋ค์ง์ ๊ฐ๊ณผ ๋์ผํ์ง ํ์ธํ์ฌ ํ๋ฌธ์ธ์ง ๊ฒ์ฌ. ํ๋ฌธ์ด๋ผ๋ฉด result๋ฅผ 1 ์ฆ๊ฐ์ํจ๋ค.
์ธ๋ก ํ๋ฌธ ๊ฒ์ฌ
for i in range(8):
for j in range(8 - length + 1):
col_slice = ''.join(board[j + k][i] for k in range(length))
if col_slice == col_slice[::-1]:
result += 1
- ์ธ๋ก ๋ฐฉํฅ์ผ๋ก ํ๋ฌธ์ ์ฐพ๋ ๋ฃจํ์ด๋ค.
- for i in range(8)
- ๊ธ์ํ์ ๊ฐ ์ด(i๋ฒ์งธ ์ด)์ ์์ฐจ์ ์ผ๋ก ํ์ธํ๋ค.
- for j in range(8 - length + 1)
- ๊ฐ ์ด์์ length ๊ธธ์ด์ ๋ฌธ์์ด์ ์ถ์ถํ ์์ ์ธ๋ฑ์ค j๋ฅผ ์ค์ ํฉ๋๋ค.
- col_slice = ''.join(board[j + k][i] for k in range(length))
- j์์ ์์ํ์ฌ length ๊ธธ์ด๋งํผ ์ธ๋ก๋ก ๋ด๋ ค๊ฐ๋ฉด์ ๊ฐ ํ์์ i๋ฒ์งธ ์ด์ ๊ธ์๋ฅผ ์ถ์ถํ์ฌ col_slice์ ๋ฌธ์์ด๋ก ์ ์ฅํ๋ค.
- ''.join()์ ์ฌ์ฉํด ์ถ์ถํ ๊ธ์๋ค์ ํ๋์ ๋ฌธ์์ด๋ก ํฉ์น๋ค.
- if col_slice == col_slice[::-1]
- col_slice๊ฐ ๋ค์ง์ ๊ฐ๊ณผ ๋์ผํ์ง ํ์ธํ์ฌ ํ๋ฌธ์ธ์ง ๊ฒ์ฌํ๋ค. ํ๋ฌธ์ด๋ผ๋ฉด result๋ฅผ 1 ์ฆ๊ฐ์ํจ๋ค.
Solution
for tc in range(1, 11):
length = int(input()) #ํ๋ฌธ ๊ธธ์ด
board = [input().strip() for _ in range(8)]
result = 0 #๊ฒฐ๊ณผ
#๊ฐ๋ก ํ์ธ
for i in range(8):
for j in range(8 - length + 1): #length๊ฐ 4๋ฉด (0, 5)
row_slice = board[i][j:length + j]
if row_slice == row_slice[::-1]:
result += 1
#์ธ๋ก ํ์ธ
for i in range(8):
for j in range(8 - length + 1):
col_slice = ''.join(board[j + k][i] for k in range(length))
if col_slice == col_slice[::-1]:
result += 1
print("#%d %d" % (tc, result))
๐ฉ๐ป ํ๊ณ
์.. ์ ๋ง ํ๋ฑ์ง ๋๋ ๋ฌธ์ ์๋ค. ๊ฐ๋ก๊น์ง๋ ๋ฌธ์ ์์๋๋ฐ ์ธ๋ก๋ฅผ ํ์ธํ ๋ ์ฌ๋ผ์ด์ฑ์ด ์ ๋๋ค๋ ๊ฑธ ๋ฆ๊ฒ ๊นจ๋ฌ์์ ์๊ฐ์ ๋ง์ด ์ผ๋ค. ๋ค์์ ๋ค์ ํ์ด๋ด์ผ ํ ๋ฌธ์ ์ด๋ค.
728x90
'๐งฉ Algorithm > SWEA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [SWEA] 11856. ๋ฐ๋ฐ (Python/D3) (0) | 2024.10.24 |
|---|---|
| [SWEA] 2805. ๋์๋ฌผ ์ํํ๊ธฐ (Python/D3) (0) | 2024.10.24 |
| [SWEA] 10804. ๋ฌธ์์ด์ ๊ฑฐ์ธ์ (Python/D3) (1) | 2024.10.22 |
| [SWEA] 4751. ๋ค์์ด์ ๋ค์ด์๋ชฌ๋ ์ฅ์ (Python/D3) (0) | 2024.10.22 |
| [SWEA] 1213. [S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 3์ผ์ฐจ - String (Python/D3) (0) | 2024.10.22 |