첫째 줄에 숫자의 개수 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);
}
}
'[BOJ] - JAVA' 카테고리의 다른 글
[백준] 2441 :별 찍기 4 JAVA 풀이 (0) | 2022.06.03 |
---|---|
[백준] 11721 : 열 개씩 끊어 출력하기 JAVA 풀이 (0) | 2022.06.02 |
[백준] 18870 : 좌표 압축 JAVA 풀이 (0) | 2022.05.29 |
[백준] 10814 : 나이순 정렬 JAVA 풀이 (0) | 2022.05.29 |
[백준] 1181 : 단어 정렬 JAVA 풀이 (0) | 2022.05.29 |