공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