Post

baekjoon 7단계 2차원 배열

기록용 baekjoon 단계별 풀이입니다. 언어 : Java

2738번


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import java.io.BufferedReader;  
import java.io.InputStreamReader;  
import java.io.IOException;  
import java.io.StringReader;  
import java.util.StringTokenizer;  
  
public class Main {  
    public static void main(String[] args) throws IOException {  
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));  
        StringTokenizer st = new StringTokenizer(bf.readLine());  
        int n = Integer.parseInt(st.nextToken());  
        int m = Integer.parseInt(st.nextToken());  
        int[][] arr = new int[n][m];  
        int[][] arr2 = new int[n][m];  
  
        for(int i=0;i<n;i++)  
        {  
            st= new StringTokenizer(bf.readLine());  
            for(int j=0;j<m;j++)  
            {  
                arr[i][j]=Integer.parseInt(st.nextToken());  
            }  
        }  
        for(int i=0;i<n;i++)  
        {  
            st= new StringTokenizer(bf.readLine());  
            for(int j=0;j<m;j++)  
            {  
                arr2[i][j]=Integer.parseInt(st.nextToken());  
            }  
        }  
        for(int i=0;i<n;i++)  
        {  
            for(int j=0;j<m;j++)  
            {  
                System.out.print(arr[i][j]+arr2[i][j]+" ");  
            }  
            System.out.println();  
        }  
    }  
}

2566번


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import java.io.BufferedReader;  
import java.io.InputStreamReader;  
import java.io.IOException;  
import java.io.StringReader;  
import java.util.StringTokenizer;  
  
public class Main {  
    public static void main(String[] args) throws IOException {  
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));  
        StringTokenizer st;  
        int[][] arr = new int[10][10];  
        int max = -1;  
        int ivalue = 0;  
        int jvalue = 0;  
        for(int i=1;i<=9;i++)  
        {  
            st = new StringTokenizer(bf.readLine());  
            for(int j=1;j<=9;j++)  
            {  
                arr[i][j] = Integer.parseInt(st.nextToken());  
  
                if(max<arr[i][j])  
                {  
                    max = arr[i][j];  
                    ivalue = i;  
                    jvalue = j;  
  
                }  
            }  
        }  
        System.out.print(max+"\n"+ivalue+" "+jvalue);  
    }  
}

10798번


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.io.BufferedReader;  
import java.io.InputStreamReader;  
import java.io.IOException;  
import java.io.StringReader;  
import java.util.StringTokenizer;  
  
public class Main {  
    public static void main(String[] args) throws IOException {  
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));  
  
        char[][] arr = new char[5][15];  
  
        for(int i=0;i<5;i++) //행  
  {  
            String s = bf.readLine();  
            for(int j=0;j<s.length();j++) //열  
  {  
                 arr[i][j] = s.charAt(j);  
            }  
        }  
        for(int i=0;i<15;i++)  
        {  
            for(int j=0;j<5;j++)  
            {  
                if(arr[j][i]!='\u0000') //char 타입의 null 값  
			  {  
                    System.out.print(arr[j][i]);  
                }  
            }  
        }  
    }  
}

2563번 - 다시


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import java.io.BufferedReader;  
import java.io.InputStreamReader;  
import java.io.IOException;  
import java.io.StringReader;  
import java.util.StringTokenizer;  
  
public class Main {  
    public static void main(String[] args) throws IOException {  
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));  
        int cnt = 0;  
        int n = Integer.parseInt(bf.readLine());  
        boolean[][] arr = new boolean[101][101];  
  
        for(int i=0;i<n;i++)  
        {  
            StringTokenizer st = new StringTokenizer(bf.readLine()," ");  
            int a = Integer.parseInt(st.nextToken()); //직사각형 왼쪽 아래 모서리 x좌표  
		    int b = Integer.parseInt(st.nextToken()); //직사각형 왼쪽 아래 모서리 y좌표  
		    for(int j=a;j<a+10;j++) //직사각형이 차지하는 공간에 대해 반복  
		    {  
                for(int k=b;k<b+10;k++)  
                {  
                    if(!arr[j][k]) //해당 좌표가 처음 사용되는 경우  
				   {  
                        arr[j][k] = true; //해당 좌표가 사용되었다고 표시  
					    cnt++; //총 공간의 넓이 증가  
					  }  
                }  
            }  
        }  
        System.out.println(cnt);  
    }  
}
This post is licensed under CC BY 4.0 by the author.