반응형
문제
N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
출력
입력으로 주어진 숫자 N개의 합을 출력한다.

결과

코드
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int count = Integer.parseInt(br.readLine());
String num = br.readLine();
int arr[] = new int[count];
int total = 0;
for(int i=0;i<count;i++) {
arr[i]=num.charAt(i)-'0';
total += arr[i];
}
System.out.println(total);
}
}
문제풀이
두 번의 오답을 제출해서 런타임 에러가 떴다.
처음엔 숫자 값을 int로 입력 받고, 오버플로우 때문인 것 같아 두번 째엔 long으로 입력을 받아왔다.
알고보니 숫자의 개수가 1<=N<=100 이었기 때문에 long으로도 담을 수 없는 크기었다.
그래서 결국 문자열로 입력을 받은 뒤 charAt() 메소드를 이용해 띄어쓰기 없는 숫자 값을 하나하나 나눠준 뒤 총 합을 계산했다.
charAt(i) - '0'을 해준 이유는 charAt() 메소드로 문자를 뽑아와 char -> int 형 변환을 거치면 아스키 코드 값으로 변환이 되기 때문이다.
반응형
'Algorithm' 카테고리의 다른 글
분할 정복법(Divide & Conquer)과 합병 정렬(Merge Sort) (0) | 2022.02.22 |
---|---|
백준 알고리즘 2675번 문제풀이 - 자바(JAVA) (0) | 2021.12.27 |
백준 알고리즘 11654번 아스키코드 변환 - 자바(JAVA) (0) | 2021.12.26 |
백준 알고리즘 1065번 한수 구하기 - 자바(JAVA) (0) | 2021.12.24 |
2차원 배열을 이용해 모래시계 모양 출력하기 - 자바(JAVA) (0) | 2021.12.23 |
댓글