반응형
문제
N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
출력
입력으로 주어진 숫자 N개의 합을 출력한다.
예제 입력 1
1
1
예제 출력 1
1
예제 입력 2
5
54321
예제 출력 2
15
예제 입력 3
25
7000000000000000000000000
예제 출력 3
7
예제 입력 4
11
10987654321
예제 출력 4
46
내가 푼 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int cnt = sc.nextInt();
String sNum = sc.next();
char[] cNum = sNum.toCharArray();
int sum = 0;
for (int i=0; i< cNum.length; i++) {
sum += Character.getNumericValue(cNum[i]);
}
System.out.println(sum);
}
}
우선 자릿수를 먼저 입력받아서 담은 변수 cnt 는 사용하지 않았다.
두번째 줄에 입력받은 숫자의 범위가 최대 100자리까지였기 때문에 정수형(int / long)으로 받을 수 없어서 String 형으로 받았다.
그 다음 toCharArray() 메서드를 이용하여 char[] 배열에 각 자리를 담아줬고 char을 int 형으로 변환해준 다음 sum 에 더했다.
아스키코드
char to int 방법
- Character.getNumeriValue( c ) 메서드 이용
- c - '0' 이용 (문자와 아스키코드의 값 차이는 48이 난다)
주의사항: 코드 제출 시 class 명을 Main 으로 해줘야 한다.
그렇지 않으면 아래와 같은 컴파일 에러 발생함
반응형
'백준 코딩테스트' 카테고리의 다른 글
[백준] 괄호 (9012) - Java (3) | 2023.10.28 |
---|---|
[백준] 요세푸스 문제 (1158) - Java (0) | 2023.10.28 |
[백준] DNA 비밀번호 (12891) - Java (0) | 2023.08.03 |
[백준] 블로그 (21921) - Java (0) | 2023.08.02 |
[백준] 주몽 (1940) (0) | 2023.08.01 |