백준/JAVA

[백준/JAVA] 11021번 A+B-7

누룽지맛치킨 2023. 1. 16. 15:48
  • for문을 사용해서 원하는 수만큼 A+B를 출력하라.

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

1. 문제

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

2. 문제 접근

하나의 입력을 받는다.

  • 입력된 수만큼 반복해서 2개의 수를 입력받고 두 수의 합을 출력한다.

-> StringBuilder를 사용해서 문제를 풀어보자!

String와 StringBuilder 차이점!

  • String과 StringBuilder는 모두 문자열이고 비교 가능하고 직렬화(serialize)할 수 있다. 단, String은 문자열끼리 더하거나 연산을 할 때 새로운 String객체를 하나 만들게 된다. 하지만, StringBuilder은 객체의 주소 그대로 사용하여 연산이 끝난 후에는 피연산된 StringBuilder가 그 결과가 된다. 따라서, 문자열을 수정하여 계속해서 새로운 문자열을 생성해야할 경우가 아니라면 StringBuilder의 사용이 더 효율적이다.
  • 만약 멀티쓰레드를 이용할 경우에는 StringBuilder는 쓰레드 동기화를 지원하지 않고 StringBuffer는 쓰레드 동기화를 지원한다는 사실을 참고하자!

3. 코드

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

public class Main
{
    public static void main(String[] args) throws IOException
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        StringTokenizer st;
        StringBuilder sb = new StringBuilder();
        for(int i=0;i<n;i++)
        {
            st = new StringTokenizer(br.readLine());
            int n1 = Integer.parseInt(st.nextToken());
            int n2 = Integer.parseInt(st.nextToken());
            sb.append("Case #").append(i+1).append(": ").append(n1+n2).append("\n");
        }
        System.out.print(sb);
    }
}