코테 기초

BufferedReader, StringTokenizer

서버관리자 페페 2022. 12. 2. 21:33

IOException 필수

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

BufferedReader로 라인을 통째로 받고

StringTokenizer로 커서를 나눠주는데(공백 기준으로 끊어짐)

다음 라인으로 바뀔 때마다, st도 리셋해줘야 한다

 

br은 선언만 하고

st만 속에 있는 br.readLine()으로 리셋하면서 사용하면 됨

또 토큰은 이름에서 그렇듯이 String 형태만 받기 때문에, Integer Wrapper로 사용해줘야 함

 

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());

 

// Line 1
int N = Integer.parseInt(st.nextToken);
int M = Integer.parseInt(st.nextToken);

 

// Line 2 + 합배열
long[] S = new long[N+1];
st = new StringTokenizer(br.readLine());
for (int i = 1; i <= N; i++) {
    S[i] = S[i-1] + Integer.parseInt(st.nextToken);
}

 

// Line 3~N > EOC
for (int q = 0; q < M; q++) {
    st = new StringTokenizer(br.readLine());
    int i = Integer.parseInt(st.nextToken());
    int j = Integer.parseInt(st.nextToken());
    System.out.println(S[j] - S[i-1]);
}

 

 

System.out.println(marker);
br.close();

마지막에 닫아줄 것

 

// ISC - L1
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int FL = Integer.parseInt(st.nextToken());
int PL = Integer.parseInt(st.nextToken());

// L2
int marker = 0;
char[] array = new char[FL];
array = br.readLine().toCharArray();


// L3 > checker
st = new StringTokenizer(br.readLine());
for (int i = 0; i < 4; i++) {
    checker[i] = Integer.parseInt(st.nextToken());
    if (checker[i] == 0)
        checkcounted++;
}

StringTokenizer를 갱신하지 않고, 바로 br로 받아 사용해도 됨

 

// ISC - L1
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter printer = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());


// ISC - L2
String[] str = br.readLine().split(" ");
int[] A = new int[N];
for (int i = 0; i < N; i++) {
    A[i] = Integer.parseInt(str[i]);
}

이것도 마찬가지

 

 

참조

 

https://wkimdev.github.io/java/2018/04/06/java-io-bufferedreader/

 

'코테 기초' 카테고리의 다른 글

구간 합  (0) 2022.12.03
포인트 받기와 데이터 흐름 등  (0) 2022.12.03
Array & List  (0) 2022.12.02
ISC - 스캐너  (0) 2022.12.02
001 : Point가 발견되는 공간 인식하기  (0) 2022.08.02