안녕하세요. 맹꽁이입니다.
오늘은 백준 사이트 단계별 문제풀이의 2차원 배열 풀어볼게요.
이전글: #6 심화 1
https://rb-cloud.tistory.com/9
#2738 - 행렬 덧셈


import java.io.IOException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.StringTokenizer;
import java.util.Arrays;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
int[][] list = new int[N][M];
for(int i=0;i<2*N;i++){
st = new StringTokenizer(br.readLine());
for(int j=0;j<M;j++){
list[i%N][j] += Integer.parseInt(st.nextToken());
}
}
for(int i=0;i<N;i++){
for(int j=0;j<M;j++){
bw.write(list[i][j]+" ");
}
bw.write("\n");
}
bw.flush();
bw.close();
}
}
#2566 - 최댓값




import java.io.IOException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.StringTokenizer;
import java.util.Arrays;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int[][] list = new int[9][9];
int max = Integer.MIN_VALUE;
int x=-1, y=-1;
for(int i=0;i<9;i++){
st = new StringTokenizer(br.readLine());
for(int j=0;j<9;j++){
list[i][j] = Integer.parseInt(st.nextToken());
if(max<list[i][j]) {
max = list[i][j];
x = i+1;
y = j+1;
}
}
}
bw.write(max+"\n"+x+" "+y);
bw.flush();
bw.close();
}
}
#10798 - 세로읽기



import java.io.IOException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
char[][] list = new char[5][15];
for(int i=0;i<5;i++){
String s = br.readLine();
for(int j=0;j<s.length();j++){
list[i][j]=s.charAt(j);
}
}
for(int i=0;i<15;i++){
for(int j=0;j<5;j++){
if(list[j][i]!='\0'){
bw.write(list[j][i]+"");
}
}
}
bw.flush();
bw.close();
}
}
#2563 - 색종이


import java.io.IOException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int[][] paper = new int[100][100];
int a = Integer.parseInt(br.readLine());
int sum=0;
for(int i=0;i<a;i++){
st = new StringTokenizer(br.readLine());
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
for(int j=x;j<x+10;j++){
for(int k=y;k<y+10;k++){
if(paper[j][k]!=1){
paper[j][k] = 1;
sum++;
}
}
}
}
bw.write(sum+"");
bw.flush();
bw.close();
}
}