![[java] 백준 16967번 문제(배열 복원하기)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKDJyZ%2FbtsMRkbWroh%2FxrBGrLNCwBReNrSYrj0S60%2Fimg.png)
[java] 백준 16967번 문제(배열 복원하기)자료구조 & 알고리즘/BOJ2025. 3. 20. 11:45
Table of Contents
원본 링크 : https://www.acmicpc.net/problem/16967
문제설명
소스코드
import java.io.*;
import java.util.StringTokenizer;
public class Boj_16967
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
// H, W, X, Y를 받아옴
StringTokenizer st = new StringTokenizer(br.readLine());
int h = Integer.parseInt(st.nextToken());
int w = Integer.parseInt(st.nextToken());
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
// 배열 B를 받아옴
int[][] arr = new int[h + x][w + y];
for(int i = 0; i < h + x; ++i)
{
st = new StringTokenizer(br.readLine());
for(int j = 0; j < w + y; ++j) arr[i][j] = Integer.parseInt(st.nextToken());
}
// 배열 B의 (0,0) ~ (W,H) 구역을 배열 A로 원상복구 시키는 루프
for(int i = 0; i < h; ++i)
{
for(int j = 0; j < w; ++j)
{
if((i >= x) && (j >= y)) arr[i][j] -= arr[i - x][j - y]; // 겹쳐진 구역이라면 원상복구 시킴
bw.write(arr[i][j] + " ");
}
bw.write(System.lineSeparator());
}
bw.flush();
}
}
설명
'자료구조 & 알고리즘 > BOJ' 카테고리의 다른 글
[java] 백준 11724번 문제(연결 요소의 개수) (0) | 2025.03.26 |
---|---|
[java] 백준 1377번 문제(버블 소트) (0) | 2025.03.21 |
[java] 백준 17298번 문제(오큰수) (0) | 2025.03.19 |
[java] 백준 1874번 문제(스택 수열) (0) | 2025.03.18 |
[Java] 백준 12891번 문제(DNA 비밀번호) (0) | 2025.03.17 |