diff --git a/백준/Silver/16967. 배열 복원하기/README.md b/백준/Silver/16967. 배열 복원하기/README.md new file mode 100644 index 0000000..651ad55 --- /dev/null +++ b/백준/Silver/16967. 배열 복원하기/README.md @@ -0,0 +1,40 @@ +# [Silver III] 배열 복원하기 - 16967 + +[문제 링크](https://www.acmicpc.net/problem/16967) + +### 성능 요약 + +메모리: 39516 KB, 시간: 108 ms + +### 분류 + +구현 + +### 제출 일자 + +2026년 1월 12일 21:56:31 + +### 문제 설명 + +
크기가 H × W인 배열 A와 두 정수 X와 Y가 있을 때, 크기가 (H + X) × (W + Y)인 배열 B는 배열 A와 배열 A를 아래로 X칸, 오른쪽으로 Y칸 이동시킨 배열을 겹쳐 만들 수 있다. 수가 겹쳐지면 수가 합쳐진다.
+ +즉, 배열 B의 (i, j)에 들어있는 값은 아래 3개 중 하나이다.
+ +배열 B와 정수 X, Y가 주어졌을 때, 배열 A를 구해보자.
+ +### 입력 + +첫째 줄에 네 정수 H, W, X, Y가 주어진다. 둘째 줄부터 H + X개의 줄에 배열 B의 원소가 주어진다.
+ +항상 배열 A가 존재하는 경우만 입력으로 주어진다.
+ +### 출력 + +총 H개의 줄에 배열 A의 원소를 출력한다.
+ diff --git a/백준/Silver/16967. 배열 복원하기/배열 복원하기.py b/백준/Silver/16967. 배열 복원하기/배열 복원하기.py new file mode 100644 index 0000000..4d49e2a --- /dev/null +++ b/백준/Silver/16967. 배열 복원하기/배열 복원하기.py @@ -0,0 +1,8 @@ +import sys +H, W, X, Y = map(int, sys.stdin.readline().strip().split()) +B = [list(map(int, sys.stdin.readline().strip().split())) for _ in range(H+X)] +for i in range(X,H): + for j in range(Y,W): + B[i][j] = B[i][j] - B[i-X][j-Y] +for result in B[:H] : + print(*result[:W]) \ No newline at end of file