본문 바로가기

컴퓨터/JAVA

코딩테스트를 위한 자바(java) 2차원 배열 입력받기 - 4

반응형

 

 

 bfs, dfs 등의 문제를 풀다보면 2차원 배열형태로 입력을 받아야 할 경우가 자주 있다. 

 

미로탈출과 같이 x, y 좌표를 사용하는 문제가 대표적이다. 

 

입력이 공백없이 주어졌을때 편하게 입력 받을 수 있는 방법을 알게되어 공유하려고 한다.

 

int형은 4바이트, char형은 2바이트를 사용하므로 공간복잡도상에서 이득을 얻을 수도 있다.

 

입력 :

7 8

a#c#eF.1

.#.#.#..

.#B#D###

0....F.1

C#E#A###

.#.#.#..

d#f#bF.1

 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;



public class P1194 {

	static int N, M;
	static char[][] arr;

	public static void main(String[] arg) throws IOException {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		String str = br.readLine();

		N = Integer.parseInt(str.substring(0, 1));
		M = Integer.parseInt(str.substring(2, 3));
		arr = new char[N + 1][M + 1];

		for (int i = 0; N > i; ++i) {

			str = br.readLine();

			arr[i] = str.toCharArray();

		}
        
        System.out.println(arr[0][7] == 1);     //  false
	System.out.println(arr[0][7] == '1');	//  true
    
    
    	arr[0][7] = 9;
	System.out.println(arr[0][7]);		//  tap키공백
	arr[0][7] = '9';
	System.out.println(arr[0][7]);		// 9
	arr[0][7]++;
	System.out.println(arr[0][7]);		//  :

	}

}

 

주의점 :

1. arr 배열을 char형으로 선언해야한다.

2. char형으로 저장되므로 숫자와 비교시 작은 따옴표를 붙혀야함.

3. arr 배열의 값을 변경할때 주의한다.

반응형