본문 바로가기

[BOJ] - JAVA

[백준] 11720 : 숫자의 합 JAVA 풀이

첫째 줄에 숫자의 개수 N이 입력되지만 그걸 사용하지 않아도 풀 수 있어서 따로 변수를 생성해 저장하진 않았다.

getBytes()를 이용해서 br.readLine()으로 읽은 문자열을 byte 배열로 변환해줬다.

for - each 구문으로 그 byte 배열을 한 바이트씩 읽고,

그 byte를 다시 정수로 바꾸기 위해 -'0'을 해서 sum에 더해 총합을 구했다.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main{
    public static void main(String[] args)throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        // 숫자의 개수 N은 사용하지 않으므로 그냥 입력받고 말음
        br.readLine();
        // 다음줄에 입력되는 숫자들의 합을 저장할 변수
        int sum = 0;
        // 한 줄을 읽고 그 한줄을 한 바이트씩 읽음
        for(byte val : br.readLine().getBytes()){
            sum += val-'0'; // 읽은 한 바이트의 값을 숫자로 바꿔 sum에 더함
        }
        // sum을 출력함
        System.out.println(sum);
    }
}