문제
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PzOCKAigDFAUq
나의 코드 : 23분 34초
T = int(input())
for test_case in range(1, T + 1):
N, M = map(int, input().split())
table = [list(map(int,input().split())) for i in range(N)]
sum_table = []
answer = 0
for i in range(N):
tmp = [sum(table[i][j:j+M]) for j in range(N-M+1)]
sum_table.append(tmp)
sum_table = list(map(list,zip(*sum_table)))
for i in range(len(sum_table)):
for j in range(N-M+1):
answer = max(answer,sum(sum_table[i][j:j+M]))
print("#"+str(test_case),answer)
그냥 비슷한 형식의 for문 두번을 써서 가로, 세로별 합산을 구해서 나오는 수의 최대값을 return하는 단순한 문제
쉬운문제인데 왜이리 시간을 오래 쓰는지 모르겠네..... 더 익숙해져야된다.
'공부-코딩테스트 > 코테풀이 - 자바, 파이썬' 카테고리의 다른 글
1220. [S/W 문제해결 기본] 5일차 - Magnetic (코딩테스트, SW Expert Academy) (0) | 2022.05.07 |
---|---|
1206. [S/W 문제해결 기본] 1일차 - View (코딩테스트, SW Expert Academy) (0) | 2022.05.06 |
1216. [S/W 문제해결 기본] 3일차 - 회문2 (코딩테스트, SW Expert Academy) (0) | 2022.05.05 |
1979. 어디에 단어가 들어갈 수 있을까 (코딩테스트, SW Expert Academy) (0) | 2022.05.03 |
1961. 숫자 배열 회전 (코딩테스트, SW Expert Academy) (0) | 2022.04.29 |
댓글