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 빼먹으면 컴파일 에러 납니다. 반드시 붙여야 합니다.
'알고리즘' 카테고리의 다른 글
| String 다루는 메서드들 정리 (0) | 2026.05.25 |
|---|---|
| AOJ - 93 달팽이 찍기 [java] - 시뮬레이션 (0) | 2026.05.25 |
| AOJ - 104 [java] - DFS, BruteForce (0) | 2026.05.25 |
| AOJ - 103 ANA 는 회문이야 [java] (0) | 2026.05.25 |
| 코테 전 읽고 가면 좋은 것 (0) | 2026.04.24 |