반응형
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 배열의 값을 변경할때 주의한다.
반응형
'컴퓨터 > JAVA' 카테고리의 다른 글
코딩테스트를 위한 자바(java) 비트마스크 - 6 (0) | 2020.03.12 |
---|---|
코딩테스트를 위한 자바(java) 비트연산 - 5 (0) | 2020.03.12 |
코딩테스트를 위한 자바(java) 순열함수 구현 - 3 (0) | 2020.02.21 |
코딩테스트를 위한 자바(java) 정렬 - 2 (0) | 2020.02.21 |
코딩테스트를 위한 자바(java) 파일 입력, 출력 - 1 (0) | 2020.02.21 |