반응형
CASE1
- 붙어있는 경우
- N 첫줄을 parse해준다.
- N을 이용해서 루프를 돈다.
- i는 한줄씩->input=br.readLine();
- j는 한글자씩-> arr[i][j] = input.charAt(j) - '0';
- br.readLine()은 한줄을 String으로 받기 때문에 숫자로 바꿔주기 위해서 -'0'을 해준다.
BufferedReader br= new BufferedReader (new InputStreamReader(System.in));
String input= br.readLine();
N = Integer.parseInt(input);
house = new int [N][N];
visited = new boolean [N][N];
//Arrays.fill(visited, false);
for(int i = 0 ; i < N; i++)
{
input = br.readLine();
for(int j =0 ; j < N ; j++)
{
int tempNum = input.charAt(j);
house[i][j] = input.charAt(j) -'0';
}
}
CASE2
- 떨어져 있는 경우
- StringTokenizer 를 사용한다.
- br.readLine(=String) 은 같다. 하지만 한 줄에서 띄어쓰기전까지만 짜른다.
- ex) 30 50
- StringTokenizer st =new StringTokeizer(input); //input은 한 줄
- int first = Interger.parseInt(st.nextToken()); // 한줄에서 띄어쓰기 전까지 first -> 30
- int second = Integer.parseInt(st.nextToken()); // 50
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
for(int tc =0; tc<T; tc++)
{
inin();
L=Integer.parseInt(br.readLine()); //L*L
visit =new boolean[L][L];
for (boolean row[]: visit) {
Arrays.fill(row, false);
} //초기화시킴
String input = br.readLine(); // 0,0
StringTokenizer st= new StringTokenizer(input);
int sx =Integer.parseInt(st.nextToken());
int sy =Integer.parseInt(st.nextToken());
input = br.readLine(); // 0,0
st= new StringTokenizer(input);
int ex =Integer.parseInt(st.nextToken());
int ey =Integer.parseInt(st.nextToken());
}
반응형
'Algorithm > Algorithm_Tip' 카테고리의 다른 글
[강의] 투포인트 알고리즘 (0) | 2020.09.12 |
---|---|
[Java 입출력] StringTokenizer (0) | 2020.09.08 |
[입력] getline으로 한 줄 띄어쓰기 까지 다 받아오기 (0) | 2020.08.06 |
[탐색] 이분탐색 lower_bound, upper_bound (0) | 2020.07.21 |
순열&조합 (0) | 2020.07.13 |