카테고리 없음

백준 #7 2차원 배열 - Java 풀이 모음 (2738, 2566, 10798, 2563)

맹꽁이+ 2025. 11. 26. 13:57

안녕하세요. 맹꽁이입니다.

오늘은 백준 사이트 단계별 문제풀이의 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();
    }
}