alpyrithm_알파이리즘

[알고리즘][Java] 백준(BOJ) 10951 A+B - 4_자바 본문

Algorithm/백준 알고리즘_Java

[알고리즘][Java] 백준(BOJ) 10951 A+B - 4_자바

알파이 2021. 2. 22. 08:02

 

입출력

10951 A+B - 4    www.acmicpc.net/problem/10951

 

10951번: A+B - 4

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 

 

문제 풀기 전 공부할 것 : 입출력, while

 

 

 

 

 

 

 

풀이 1

<내용>

  • Scanner를 이용하여 입력을 받는다.
  • 다음에 입력받는 값이 있으면 A, B를 입력받고 합을 출력하는 과정을 반복한다.
  • 입력받는 값이 있는가 확인하는 방법은 hasNext(), hasNextInt() 사용한다.

 

 

<코드>

import java.util.*;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		while (sc.hasNextInt()) {
			int a, b;
			a = sc.nextInt();
			b = sc.nextInt();
			
			System.out.println(a+b);
		}
		
		sc.close();

	}

}

 

 

 

 

 

 

 

 

 

 

풀이 2

<내용>

  • BufferedReader를 이용해서 입력받는다.
    • buffer : 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 임시 메모리 영역
    • 속도가 빠르다.
    • 데이터가 String으로 고정
    • 엔터(개행문자)만 경계로 인식한다.
    • try/catch 예외처리 또는 throws IOException을 통한 예외처리 필요
  • BufferedReader의 readLine()은 한 줄을 읽기 때문에 공백을 기준으로 문자열을 분리해야 한다.
  • StringTokenizer를 이용하여 공백을 분리한다.
    • BufferedReader에서 받은 Line단위의 문자를 공백단위로 처리하고 싶을 때 사용
  • nextToken()으로 분리하면 문자열을 반환하므로 Integer.parseInt() 함수를 통해 int형으로 변환한다.
  • StringBuilder를 출력 방법으로 사용한다.
    • 문자열을 다루는 클래스
    • append()로 문자열 추가

 

 

<코드>

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

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		StringTokenizer st;
		String str;
		
		while ((str=br.readLine()) != null) {
			st = new StringTokenizer(str, " ");
			int a = Integer.parseInt(st.nextToken());
			int b = Integer.parseInt(st.nextToken());
			sb.append(a+b).append("\n");
		}
		System.out.print(sb);

	}

}

 

 

 

 

 

 

 

 

 

 

 

같은 문제 파이썬 풀이법

2020/03/15 - [Algorithm/백준 알고리즘_Python] - [알고리즘][Python] 백준(BOJ) 2557 Hello World, 1000/2558/10950/10951/10952/10953/11021/11022 A+B 파이썬

 

[알고리즘][Python] 백준(BOJ) 2557 Hello World, 1000/2558/10950/10951/10952/10953/11021/11022 A+B 파이썬

입출력(1) 알고리즘의 가장 기본인 입출력 문제들 2557 Hello World https://www.acmicpc.net/problem/2557 2557번: Hello World Hello World!를 출력하시오. www.acmicpc.net 풀이 print('Hello World!') 1000 A+..

alpyrithm.tistory.com

 

 

728x90
반응형
Comments