Java - [백준] 11021 A+B -7
본문 바로가기
알고리즘 풀이/백준

Java - [백준] 11021 A+B -7

by IYK2h 2022. 9. 2.
728x90

이 문제에서 IDE를 사용하면 헷갈리는 부분이 생긴다.

예제 입력 1

5
1 1
2 3
3 4
9 8
5 2

예제 입력을 한번에 하고

예제 출력 1

Case #1: 2
Case #2: 5
Case #3: 7
Case #4: 17
Case #5: 7

예제 출력을 한번에 해야하나? 라는 의문이 생긴다.

정답은 아니다.

 

사람이 예제 입력을 입력하다보면 입력 속도보다 출력속도가 빨라 출력이 보이게 된다.

테스트 코드를 작성해 한번에 입력 값을 넣는 경우 입력 후 출력이 된다.

사실상 속도의 차이일 뿐

 

그래서 IDE에서 작성하는 경우

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;
        int input = Integer.parseInt(bf.readLine());
        int i = 1;
        int a ,b ,d= 0;
        List<Integer> ls = new ArrayList<>();
        while(i <= input){
            st = new StringTokenizer(bf.readLine());
            a = Integer.parseInt(st.nextToken());
            b = Integer.parseInt(st.nextToken());
            ls.add(a+b);
            i++;
        }
        for(int c : ls) {
            d++;
            System.out.println("Case #"+d+": "+c);
        }

    }
}

이런식으로 출력 부분을 따로 만드는 경우가 있다.

 

그러지 않고

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 bf = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;
        int input = Integer.parseInt(bf.readLine());
        int i = 1;
        int a ,b = 0;
        while(i <= input){
            st = new StringTokenizer(bf.readLine());
            a = Integer.parseInt(st.nextToken());
            b = Integer.parseInt(st.nextToken());
            System.out.println("Case #"+i+": "+(a+b));
            i++;
        }
    }
}

이런식으로 입력과 출력이 같이 일어나도 된다.

728x90

댓글