공log/[P&B]

[P&B] #53 BAEKJOON 11720

ming_OoO 2023. 9. 16. 11:56
728x90

백준 11720번 숫자의 합

문제 설명

N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.

 

입력

첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.

 

출력

입력으로 주어진 숫자 N개의 합을 출력한다.

 

나의 문제 풀이 코드

import java.io.*;
public class bj11720 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int N = Integer.parseInt(br.readLine());
        String num = br.readLine();
        String[] arr = num.split("");
        int sum=0;
        for (int i = 0; i < N; i++) {
            sum += Integer.parseInt(arr[i]);
        }
        bw.write(String.valueOf(sum));
        bw.flush();
    }
}

 

문제 풀이 코멘트

BufferedWriter는 기본적으로 문자열을 출력하기 위한 스트림입니다. 이 클래스를 사용하여 출력할 때, 문자열 데이터를 출력 스트림에 쓸 수 있습니다. String.valueOf(sum)은 정수 sum을 해당 정수의 문자열 표현으로 변환하는 메서드입니다. 이를 사용하여 정수 sum을 문자열로 변환합니다.

- bw.write(sum):

  • 이 코드는 정수 변수 sum의 값을 직접 출력하려고 시도합니다.
  • BufferedWriter는 정수를 바로 출력할 수 있는 기능을 제공하지 않으므로 컴파일 오류가 발생하거나 잘못된 값이 출력됩니다.

-  bw.write(String.valueOf(sum)):

  • 이 코드는 String.valueOf(sum)을 통해 정수 sum을 문자열로 변환한 후, 해당 문자열을 출력합니다.
  • 문자열을 출력하는 것은 BufferedWriter가 지원하는 기능이므로 이 코드는 정상적으로 작동합니다.
728x90
댓글수0