Java Coding Test - Input/Output

윤서·2025년 11월 25일

LeetCode solutions

목록 보기
2/2

1. Scanner 말고 BufferedReader를 써야하는 이유

성능 차이 : BUfferedReader - 데이터를 한 덩어리로 읽어서 버퍼 (8KB)에 저장
Scanner - 매번 작은 단위로 읽고 파싱하는 과정이 많음

       ```

BufferedReader br = new BufferedReadre (new InputScannerReader(System.in));
int n = Integer.parseInt(br.readline());

2. 알고리즘 문제의 기본 구조

1) 첫 줄에 n 입력
2) 둘째 줄에 n개의 숫자 입력
3) 반복문으로 처리
4) 결과 출력

int n = Integer.parserInt(br.readLine());
StringTokenizere st = new Stringtokenizer(br.readline());
for ( int i=0; i<n; i++){
arr[i]=Integer.parseInt(st.nextToken());
}

2.1 입력 패턴

2.1-1 숫자 하나

int n= Integer.parseInt(br.readline());

2.1-2 한 줄에 여러 숫자
입력 : 3 10 7

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

2.1-3 배열 입력
첫 줄 : 5
둘째 줄: 1 2 3 4 5

int n = new StringTokenizer(br.readLine());
int[] arr = new int[n];
StringTokenizer st = new StringTokenizer(br.readLine())
for (int i=0; i<n; i++){
arr[i]=Integer.parseInt(st.nextoken());
} 

2.1-4 문자열 입력

String s= br.readLine();

2.2 출력 패턴

2.2-1 단일 결과 출력

System.out.println(answer);

2.2-2 여러 줄 출력

StringBuilder sb = new StringBuilder();
for (int i=0; i<n; i++){
sb.append(arr[i].append('/n');
}
System.out.print(sb);

2.3 입출력 기본 템플릿

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

public class Main{
public static void main(String[] args){
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder(); // 여러줄의 출력을 효율적으로 만듬 

//입력 
int n = Integer.parseInt(br.readLine()); //한줄을 읽어 문자열을 정수로 바꿈 
StringTokenizer st = new StringTokenizer(br.readLine()); //공백을 기준으로 토큰 분리 
int[] arr = new int[n];
for(int i=0; i<n; i++){
arr[i]=Integer.parseInt(st.nextToken());
}

//출력
System.out.print(sb);
}}

2.4 전체 예제

백준 A+B 문제

import java.io.*;
import java.utils.*;

public class Main{
public static void main(String[] args) throws IOException{

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());

System.out.println(A+B);
}
}

0개의 댓글