알고리즘 공부/파이썬(Python)

백준 2167번 2차원 배열의 합 파이썬

마달랭 2024. 7. 7. 00:18
반응형

리뷰

for문과 2차원 배열로 문제를 풀이했다. 통과는 했으나 시간이 많이 걸려서 최적화가 필요해 보인다.

 

문제 풀이

  1. 2차원 배열을 받아온다.
  2. k와 합을 구할 범위를 각각 가져온 후 행과 열을 돌며 슬라이싱을 통해 합계를 result에 저장해 준다.
  3. 각 케이스 마다 result값을 출력해 준다.

 

 

참고 사항

각 i, j값은 -1씩 해줘야 한다.

 

 

정답 코드

def q2167():
    # 백준 2167번 2차원 배열의 합 파이썬
    n, m = map(int, input().split())
    lst = [list(map(int, input().split())) for _ in range(n)]
    k = int(input())
    for _ in range(k):
        i, j, x, y = map(int, input().split())
        result = 0
        for a in range(i - 1, x):
            result += sum(lst[a][j - 1:y])
        print(result)
q2167()

 

 

728x90
반응형