ezhoon

[백준] 10950_A+B-3_Java 본문

[Java] 백준 문제풀이/for문

[백준] 10950_A+B-3_Java

ezhoon 2022. 1. 4. 21:12

백준 10950

 

10950번: A+B - 3

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

www.acmicpc.net

⚠️주의사항

  • A와 B의 구분이 공백으로 된다는 것
  • 입력이 모두 끝난 뒤 출력이 될 것
    • 저는 이것 때문에 틀려서 뭐가 문제일까 고민했었습니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

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

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

        for (int i = 0; i < T; i++) {
            BufferedReader br2 = new BufferedReader(new InputStreamReader(System.in));
            String str = br2.readLine();
            StringTokenizer st = new StringTokenizer(str, " ");

            int A = Integer.parseInt(st.nextToken());
            int B = Integer.parseInt(st.nextToken());

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

위에 처럼 5를 입력하면 5개의 테스트 케이스를 받게 되는데 1 1을 입력하면 바로 2가 나오게끔 해서 NullPointer가 떴던 것이다.

이 점을 주의하고 다시 문제를 풀이해보겠습니다.

 

 


문제풀이


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

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

        int N = Integer.parseInt(br.readLine());
        StringBuilder sb = new StringBuilder(); // 계산한 식을 넣어준 뒤 한 번에 출력

        for (int i = 0; i < N; i++) {
            StringTokenizer st = new StringTokenizer(br.readLine(), " ");
            sb.append(Integer.parseInt(st.nextToken()) + Integer.parseInt(st.nextToken())); // sb에 값을 계속 추가 시킨다.
            sb.append('\n'); // 추가 시킨 값들이 한 줄씩 띄어져있어한다.
        }
        System.out.println(sb);
    }
}

StringBuilder사용 해서 append 해주는 방식은 아직까진 사용 안 했었지만, 나중에 성능 문제들이 나오면 사용을 해야 하기 때문에 적응할 겸 사용했습니다.

'[Java] 백준 문제풀이 > for문' 카테고리의 다른 글

[백준] 2742_기찍N_Java  (0) 2022.01.05
[백준] 2471_N찍기_Java  (0) 2022.01.04
[백준] 15552_빠른 A+B_Java  (0) 2022.01.04
[백준] 8393_합_Java  (0) 2022.01.04
[백준] 2739_Java  (0) 2022.01.04
Comments