반응형
분류: 문자열
Q : N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
입력 | 출력 |
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. 11 10987654321 |
입력으로 주어진 숫자 N개의 합을 출력한다. 46 |
▶코드
//백준알고리즘 제출시 클래스 이름은 Main으로 바꿔야 됨
import java.util.Scanner;
public class p11720 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = Integer.parseInt(sc.nextLine());
//double y = Double.parseDouble(sc.nextLine());
//256이상의 숫자는 int로 표현 불가능함->double
//double로 해도 25자리 돌렸을 때 오류남...
String[] s = sc.nextLine().split("");
int sum = 0;
for(int i=0; i<x; i++) {
int y = Integer.parseInt(s[i]);
int num = y%10;
y = y/10;
sum += num;
}
System.out.print(sum);
sc.close();
}
}
▶처음에 입력을 int로 받으면 범위를 벗어나서 double로 받았는데 double도 벗어나서
String으로 받고나서 split해 String배열로 저장했다.
int 는 4바이트(32비트) ±21000000000(21억)
double 은 8바이트(64비트) 4.9E-324 ~ 1.7976931348623157E308
▶char타입을 integer.parseInt사용해서 int로 바꿀수 없어서, split("")하여 String배열로 저장했다.
String은 기본 자료형이 아니라 레퍼런스 자료형이다.
또한, 기본자료형 끼리는 바꿀 수 없다.
▶다른 풀이
s.charAt(index)하거나 getBytes()한 것에
'0'또는 -48해야 됨. 아스키코드값으로 변환되어서 int에 저장되니까..
채점결과
링크 www.acmicpc.net/status?user_id=ske05058&problem_id=11720&from_mine=1
채점 현황
www.acmicpc.net
반응형
'백준알고리즘' 카테고리의 다른 글
백준알고리즘:p2675 문자열 반복 (0) | 2021.02.23 |
---|---|
백준알고리즘:p10809 알파벳 찾기 (0) | 2021.02.23 |
백준알고리즘:p11654 문자열, 아스키코드 (0) | 2021.02.23 |
백준알고리즘: p4673 셀프넘버 (0) | 2021.02.21 |
백준알고리즘:p4344 평균 이상인 비율을 소숫점까지 구해라 (0) | 2021.02.20 |
댓글