본문 바로가기
Develop/Coding Test | Algorithm

[백준] JAVA 풀이 -10951 : A + B - 4

by 코젼 2024. 2. 10.
728x90
반응형

 

해당 백준 문제 풀이 중 제출했지만 런타임 에러가 발생해서 기록 겸으로 작성!

▶️ 백준 문제

https://www.acmicpc.net/problem/10951

 

10951번: A+B - 4

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

www.acmicpc.net

 

현재 내 풀이는 인텔리제이에서는 작동이 잘 되지만 백준에서 런타임 에러가 발생하는 상황이다... 🤔🤔

▶️  런타임에러(Null Pointer)

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

public class Main {
    public static void main (String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        while (true) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            if (st.hasMoreTokens()) {
                int a = Integer.parseInt(st.nextToken());
                int b = Integer.parseInt(st.nextToken());
                int sum = a + b;
                bw.write(sum + "\n");
            } else {
                bw.flush();
                bw.close();
                break;
            }
        }
    }
}

 

 

 

해당 페이지에서 StringTokenizer 관련해서 어떻게 처리해야 하는지 작성되어 있어 참고했는데 결국은 다 지우고 다시 소스 짜는 거로 마무리 됐다... 😂

참고 문서는 혹시나 도움이 될까 지우지 않고 작성해둠!

https://help.acmicpc.net/judge/rte/NoSuchElement

 

런타임 에러 (NoSuchElement)

ScannerScanner에서 이 에러가 발생하는 경우는 더 이상 입력받을 수 있는 값이 없을 때 입니다.import java.util.*; class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); in

help.acmicpc.net

한 줄을 입력받고, 모든 정수의 합을 출력하는 소스

import java.util.*;
class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String line = sc.nextLine();
        StringTokenizer st = new StringTokenizer(line);
        int sum = 0;
        while (st.hasMoreTokens()) {
            sum += Integer.parseInt(st.nextToken());
        }
        System.out.println(sum);
    }
}

▶️ 답안

별 거 아니었는데 복잡하게 생각했다는 이야기 마무리💨

import java.util.Scanner;

public class Main {
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextLine()) {
            String data = sc.nextLine();
            if (data.isEmpty()) break;
            else {
                int a = Integer.parseInt(data.split(" ")[0]);
                int b = Integer.parseInt(data.split(" ")[1]);
                System.out.println(a + b);
            }
        }
    }
}
728x90
반응형

댓글