Miner

[Baekjoon] 1051번 본문

Python

[Baekjoon] 1051번

MineTime76 2023. 1. 19. 23:12

>> 처음 코드

import sys
a, b = list(map(int, sys.stdin.readline().split()))

arr =[
    list(map(int, sys.stdin.readline().split()))
    for i in range(a)
]
for p in range(len(arr)):
    arr[p] = str(arr[p])

ma_x = min(a,b)

cnt = 0 
mybreak = True
while ma_x > 1:
    for i in range(a - ma_x +1):
        for j in range(b - ma_x +1):
            if arr[i][j] == arr[i + ma_x -1][j] and arr[i][j] == arr[i][j + ma_x -1] and arr[i][j] == arr[i + ma_x -1][j + ma_x -1]:
                mybreak = False
                break
        if mybreak == False:        
            break
    ma_x -= 1

print(ma_x)

 

>> 최종 코드

import sys
a, b = list(map(int, sys.stdin.readline().split()))

arr =[
    sys.stdin.readline().rstrip()
    for i in range(a)
]
for p in range(len(arr)):
    arr[p] = str(arr[p])

ma_x = min(a,b)

cnt = 0 
mybreak = True
my2break = True
while ma_x > 1:
    for i in range(a - ma_x +1):
        for j in range(b - ma_x +1):
            if arr[i][j] == arr[i + ma_x -1][j] and arr[i][j] == arr[i][j + ma_x -1] and arr[i][j] == arr[i + ma_x -1][j + ma_x -1]:
                mybreak = False
                break
        if mybreak == False:        
            my2break = False
    if my2break == False:
        break
    ma_x -= 1

print(ma_x**2)

리스트 자체를 문자로 바꾸면 [, ] 괄호까지 문자로 인식하게 되어 오류가 날 수 있다.

'Python' 카테고리의 다른 글

[Baekjoon] 10951  (0) 2023.01.30
[Baekjoon 1652] 런타임 에러 (네임에러) 문제  (0) 2023.01.26
리스트 내장함수  (0) 2023.01.24
[Baekjoon] 1929 번  (1) 2023.01.19
[Baekjoon] 2563번 오류(?)  (0) 2023.01.19