본문 바로가기
알고리즘

BufferedReader + StringTokenizer 공식 (암기)

by 발빠진 쥐 2026. 5. 25.

BufferedReader + StringTokenizer 공식


1. 숫자 하나만 입력

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

int N = Integer.parseInt(br.readLine());

2. 한 줄에 숫자 여러 개 (공백 구분)

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

StringTokenizer st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int c = Integer.parseInt(st.nextToken());

br.readLine() → 한 줄을 문자열로 읽음

StringTokenizer → 공백 기준으로 토큰 분리

st.nextToken() → 토큰 하나씩 꺼냄 (항상 String)

Integer.parseInt() → String을 int로 변환


3. 여러 줄 반복 입력

for (int i = 0; i < N; i++) {
    StringTokenizer st = new StringTokenizer(br.readLine());
    int u = Integer.parseInt(st.nextToken());
    int v = Integer.parseInt(st.nextToken());
}

st는 매 줄마다 새로 만들어야 합니다.


4. 자주 쓰는 타입 변환 공식

int    n = Integer.parseInt(st.nextToken());
long   n = Long.parseLong(st.nextToken());
double n = Double.parseDouble(st.nextToken());
String s = st.nextToken(); // 그냥 문자열은 변환 없이

전체 템플릿 (외워두면 편함)

import java.util.*;
import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int N = Integer.parseInt(br.readLine());

        StringTokenizer st = new StringTokenizer(br.readLine());
        int a = Integer.parseInt(st.nextToken());
        int b = Integer.parseInt(st.nextToken());

        for (int i = 0; i < N; i++) {
            st = new StringTokenizer(br.readLine());
            int u = Integer.parseInt(st.nextToken());
            int v = Integer.parseInt(st.nextToken());
        }
    }
}

throws IOException 빼먹으면 컴파일 에러 납니다. 반드시 붙여야 합니다.