본문 바로가기

Programming/알고리즘

[백준] 10869번 - 사칙연산 -Java[자바]

 

- 성능을 위해 Scanner 보다는 BufferdReader를 사용하기로 한다!

 

그리고 출력을 위해서는 2가지 방법이 있는데,

1. StringBuilder를 생성하여 하나의 문자열로 연결한 다음 한번에 출력

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
 
public class Main {
 
	public static void main(String[] args) {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 
 		String str = br.readLine();
		StringTokenizer st = new StringTokenizer(str," ");
		int A = Integer.parseInt(st.nextToken());
		int B = Integer.parseInt(st.nextToken());
 
		StringBuilder sb = new StringBuilder();
		sb.append(A+B);
		sb.append('\n');
 
		sb.append(A-B);
		sb.append('\n');
 
		sb.append(A*B);
		sb.append('\n');
 
		sb.append(A/B);
		sb.append('\n');
 
		sb.append(A%B);
 
		System.out.print(sb);
	}
}

 

 

 

 

2. BufferedWriter를 사용

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
 
public class Main {
 
	public static void main(String[] args) throws IOException {
		     
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		String[] str = br.readLine().split(" ");
		int A = Integer.parseInt(str[0]);
		int B = Integer.parseInt(str[1]);
		
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		bw.write((A+B) + "\n");
		bw.write((A-B) + "\n");
		bw.write((A*B) + "\n");
		bw.write((A/B) + "\n");
		bw.write((A%B) + "\n");
		
		bw.flush();
		bw.close();
 
	}
 }

 

 

 

위의 것이 BufferedReader + StringTokenizer  + StringBuilder

아래 것이 BufferedReader + StringTokenizer  + BufferedWriter 방식이다.

 

 


경우에따라 차이가 있겠지만

입력은 BufferedReader를 쓴느 것이좋고,

출력은 데이터가 많은 경우 StringBuilder와 BufferedWriter를 사용하는 것이 좋다.