반응형

https://www.acmicpc.net/problem/2563

 

요약하자면, 2차원 행렬의 공간의 모든 값을 더하는 문제이다.

 

정답 코드

import sys

l = [[0 for _ in range(100)] for _ in range(100)]

next(sys.stdin)
for line in sys.stdin:
    x, y = map(int, line.split())
    for j in range(x, x + 10):
        for i in range(y, y + 10):
            l[i][j] = 1

sys.stdout.write(f"{(sum(sum(l, [])))}")

 

2차원 행렬에 값을 입력받는 것은 수월하게 할 수 있다.

2차원 행렬을 row, column 양방향으로 iterate를 돌면서 합하면 간단하지만, 대신에 2차원 list를 1차원 리스트로 변환해서 한번에 더하는 코드를 사용했다.

sum(sum(2차원 list, []))

sum의 두번째 인자에 []를 주면, 2차원 list의 각 item인 1차원 list를 이 []에 하나씩 뒤에 더하게 된다.

반응형

+ Recent posts