~๋ชฉ์ฐจ~
๋ฌธ์
๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ
- ๋ฐ๊ฒฌ๋ ํ๋ฌธ์ค ๊ฐ์ฅ ๊ธด ๊ธธ์ด๋ฅผ ๋ฐ๊ฒฌ์๋ง๋ค ํ์์ค๋ฝ๊ฒ ์ทจํ๋ฏ๋ก ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ํ ์ ์๋ค.
- ์ฝ์๊ณผ ๋์์ ํ๋ณ ๊ฐ์ฅ ๊ธด ํ๋ฌธ ์ฐพ๊ธฐ & ์ด๊ฐ์ ํ์ผ๋ก ์ ์ฅ(์ดํ ์ฌ์ฉ ํ๊ธฐ ์ํจ)
- ๊ฐ์ฅ ๊ธด ํ๋ฌธ์ ์ฐพ๋ ๊ฒ์ด๋ฏ๋ก 100๋ถํฐ 2๊น์ง ์ค์ฌ๊ฐ๋ฉฐ ํ๋ฌธ ๋ฐ๊ฒฌ์ ํ์ ์ข ๋ฃ
- ํ๋ฌธ์ ๊ธธ์ด๊ฐ n์ผ ๋ ๋ค์๊ณผ ๊ฐ์ด ๋๋์ด ๋ณผ ์ ์๋ค.
ํ์ | list[ : n//2] == list[n//2 + 1 : ][::-1] |
์ง์ | list[ : n//2] == list[n//2 : ][::-1] |
๊ทธ๋ฆผ์ผ๋ก ๋ค์ ์๊ฐํด๋ณด๋ฉด ๊ธธ์ด์ ๋ฐ๋ผ ๋ค์๊ณผ ๊ฐ์ด ๋น๊ตํด๋ณด๋ฉด ๋๋ค๋ ๋ง์ด๋ค.
- ์ด์์ ๊ฐ์ฅ ๊ธด ๊ธธ์ด๋ฅผ ๊ตฌํ ๋ค ์ด์ ๋ํด ๋ค์ ํ ๋ฒ ๋์ผํ ์ํ์ ํด์ฃผ๋ฉด ์ด๊ณผ ํ์ค ๊ฐ์ฅ ๊ธด ๊ธธ์ด๋ฅผ ์ป์ด๋ผ ์ ์๋ค.
์์ฑ ์ฝ๋
for _ in range(1, 11): # 10๊ฐ ํ
์คํธ
test = int(input())
board = [[] for i in range(100)] # ์ด์ ํ ํํ๋ก ์ ์ฅํ๊ธฐ ์ํ ๊ณต๊ฐ
maxNum = 0
for i in range(100): # ํ
line = [i for i in input()]
for l in range(100): # ๊ฐ ์ด ๊ฐ์ appendํ์ฌ ํ์ผ๋ก ๋ง๋ค๊ธฐ
board[l].append(line[l])
for j in range(100, 3, -1): # 100๋ถํฐ 2๊น์ง ํ๋ฌธ ๊ธธ์ด๋ฅผ ์ค์ฌ๊ฐ๋ฉฐ ํ์
tf = False # ํ๋ฌธ์ ์ฐพ์๋์ง ์ฒดํฌ
for k in range(0, 101-j):
temp = line[k:k+j] # ํ๋ฌธ์ด ๋ ๊ฐ๋ฅ์ฑ ์๋ ๊ฒ
if temp[:j//2] == temp[j//2:][::-1] or temp[:j//2] == temp[j//2+1:][::-1]: # ํ๋ฌธ
tf = True
break
if tf: # ํ๋ฌธ ์ฐพ์์ ๋
maxNum = max(maxNum, j) # ์ง๊ธ๊น์ง ์ฐพ์ ๊ธธ์ด vs ํด๋น ํ ๊ฐ์ฅ ๊ธด ๊ฒ
break # ๊ฐ์ฅ ๋จผ์ ์ฐพ์ ํ๋ฌธ์ด ๊ทธ ํ์ ๊ฐ์ฅ ํฐ ์์ด๋ฏ๋ก ๋ค์ ํ ํ์
for i in range(100): # ์ด, ํ์์ ์ป์ด๋ธ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ง๊ณ ์ํ
for j in range(100, 3, -1): # 100๋ถํฐ 2๊น์ง ํ๋ฌธ ๊ธธ์ด๋ฅผ ์ค์ฌ๊ฐ๋ฉฐ ํ์
tf = False # ํ๋ฌธ์ ์ฐพ์๋์ง ์ฒดํฌ
for k in range(0, 101-j):
temp = board[i][k:k+j] # ํ๋ฌธ์ด ๋ ๊ฐ๋ฅ์ฑ ์๋ ๊ฒ
if temp[:j//2] == temp[j//2:][::-1] or temp[:j//2] == temp[j//2+1:][::-1]: # ํ๋ฌธ
tf = True
break
if tf: # ํ๋ฌธ ์ฐพ์์ ๋
maxNum = max(maxNum, j) # ์ง๊ธ๊น์ง ์ฐพ์ ๊ธธ์ด vs ํด๋น ์ด ๊ฐ์ฅ ๊ธด ๊ฒ
break # ๊ฐ์ฅ ๋จผ์ ์ฐพ์ ํ๋ฌธ์ด ๊ทธ ์ด์ ๊ฐ์ฅ ํฐ ์์ด๋ฏ๋ก ๋ค์ ์ด ํ์
print("#{} {}".format(test, maxNum))
๋์์ด ๋์ จ๋ค๋ฉด ์ข์์ ๋๋ฌ์ฃผ์ธ์๐
'๐๋ฌธ์ ํ์ด > ๐งฉSWExpertAcademy' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SWEA] ํ์ด์ฌ 2814. ์ต์ฅ ๊ฒฝ๋ก | DFS (0) | 2023.05.01 |
---|---|
[SWEA] ํ์ด์ฌ 1860. ์ง๊ธฐ์ ์ต๊ณ ๊ธ ๋ถ์ด๋นต (0) | 2023.04.30 |
[SWEA] ํ์ด์ฌ 220. Magnetic | ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ (0) | 2023.04.25 |
[SWEA] ํ์ด์ฌ 2817. ๋ถ๋ถ ์์ด์ ํฉ | BFS (0) | 2023.04.24 |
[SWEA] ํ์ด์ฌ 2806. N-Queen | ๋ฐฑํธ๋ํน(Backtracking) (0) | 2023.04.21 |