Programming/BaekJoon

백준 10950번 A + B - 3

helloworld: 2021. 7. 15. 06:36

첫번째 방법

스캐너를 이용하여 테스트 케이스의 개수 T를 입력받고

A + B 의 결과를 담기 위해 int 배열을 선언한다.

for문을 통해 테스트케이스를 입력받고 A + B의 결과를 배열에 저장한다.

package for_;

import java.util.Scanner;

public class For_2 {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int C = sc.nextInt();
    int[] arr = new int[C]; // A + B의 결과 N개를 담을 배열 선언

    for(int i = 0; i < C; i++) { // 테스트 케이스 입력받기
      int A = sc.nextInt();
      int B = sc.nextInt();

      arr[i] = A + B; // 배열에 A + B 저장
    }
    sc.close();

    for (int e : arr) {
      System.out.println(e); // 결과 출력
    }
  }
}

 

두번째 방법

인터넷을 검색해보고 알게 된 방법이다. 

입력은 스캐너보다 속도가 빠른 BufferedReader를 이용했고

for문 안에서

입력받은 두 수를 StringTokenizer로 공백 기준으로 분리하여 int로 형변환했다.

A + B를 저장할 int[] 배열을 선언하는 대신 StringBuilder를 이용하였다.

package for_;

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

public class for_2_2 {
  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();
    StringTokenizer st;

    for(int i = 0; i < n; i++) {
      st = new StringTokenizer(br.readLine());
      sb.append(Integer.parseInt(st.nextToken()) + Integer.parseInt(st.nextToken()) + "\n");
    }
    System.out.println(sb);
  }
}