[SWEA][Python]#2001. 파리 퇴치(D2)

📌풀이


내가 쓴 풀이(성공)

total_cases = int(input())
for i in range(total_cases):
    #N, M 지정
    N, M = map(int,input().split())
    array = []
    #배열 생성
    for _ in range(N):
        l = list(map(int,input().split()))
        array.append(l)
    
    #최대 파리 개수 확인
    result = 0
    for height in range(N-M+1):
        for width in range(N-M+1):
            calc = 0
            for line in range(M):
                calc += sum(array[height + line][width: width + M])
                
            #값 비교
            if calc > result :
                result = calc
                
    print(f'#{i+1} {result}')
  • 인풋 값을 받아 N, M을 정하고, 배열 array를 생성
  • M x M 배열에서 최대값을 갖는 경우를 확인 후 출력

📌후기


line을 변수로 한 for문 쪽에서 실수가 있어 시간이 조금 걸렸지만, 무난하게 해결할 수 있었다.

좋은 웹페이지 즐겨찾기