code&design/문제 풀이

구름LEVEL - 놀이공원 #3

gangwan 2025. 1. 18. 22:47

문제 링크

 

구름LEVEL

난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.

level.goorm.io

 

문제 풀이 (Python)

x,y 가 sum(x~x+K-1), sum(y~y+K-1) 에 해당하는 압축 배열을 생성하고, 가장 작은 요소값을 출력하면 된다.

T = int(input())

for t in range(T):
	
	#입력 받기
	N, K = map(int, input().split())

	matrix = []
	for y in range(N):
		matrix.append(list( map(int, input().split(" ") ) ))

	
	#압축 배열 만들기
	matrixKK = [] 
	endPointY = N-K+1
	result = N*N
	for y in range(endPointY):
		LK = []
		for x in range(N):
			LK.append( sum([ matrix[y_][x] for y_ in range(y,y+K) ]) )
		LKK = [result]
		for x in range(N-K+1):
			LKK.append( sum([ LK[x_]  for x_ in range(x,x+K) ]) )
		result = min(LKK)
	
	#결과 출력
	print(result)