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[len(st)-1-i]:
return False
return True
def find_row():
answer=1
for p in range(100,0,-1):
for q in range(0,101-p):
for r in range(0,100):
st=l[r][q:q+p]
if check(st): # ํ๋ฌธ์ด ๋ง๋ค๋ฉด ๊ฐ์ฅ ๊ธด ํ๋ฌธ์ด ๋๋ฏ๋ก return์ ์ํ
answer=len(st)
return answer
def find_col():
transpose_l=list(zip(*l)) # ์ด ๋ฐฉํฅ์ผ๋ก ํ์ํ๊ธฐ ์ํด ์ ์นํ๋ ฌ์ ๊ตฌํจ
answer=find_row()
for p in range(100,0,-1):
for q in range(0,101-p):
for r in range(0,100):
st=transpose_l[r][q:q+p]
if check(st):
if len(st)>answer:
answer=len(st)
return answer
for _ in range(10):
N=int(input())
l=[list(input()) for _ in range(100)]
print('#{} {}'.format(N,find_col()))
'๐์ฝ๋ฉํ ์คํธ:CodingTest' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swea 3307-ํ์ด์ฌ]์ต์ฅ ์ฆ๊ฐ ๋ถ๋ถ ์์ด (0) | 2023.06.21 |
---|---|
[swea 4615-ํ์ด์ฌ]์ฌ๋ฏธ์๋ ์ค์ ๋ก ๊ฒ์ (0) | 2023.06.21 |
[swea 2814-ํ์ด์ฌ]์ต์ฅ ๊ฒฝ๋ก (0) | 2023.06.21 |
[swea 1244-ํ์ด์ฌ][S/W ๋ฌธ์ ํด๊ฒฐ ์์ฉ] 2์ผ์ฐจ - ์ต๋ ์๊ธ (0) | 2023.06.21 |
[๋ฐฑ์ค 14500๋ฒ-ํ์ด์ฌ]ํ ํธ๋ก๋ฏธ๋ ธ (0) | 2023.06.20 |