티스토리 뷰

코테

[백준 11720] 숫자의 합 JAVA

오은이 2023. 1. 20. 15:47

Day1. 첫 백준 문제로 숫자의 합을 풀었다.

 

 

import java.util.Scanner;

public class Day1 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = 0, num = 0, sum = 0;	//자릿수, 숫자, 합
		
		System.out.print("자릿수 입력 : ");
		n = sc.nextInt();
		
		System.out.print("숫자 입력 : ");
		num = sc.nextInt();
		
		for (int i = 0; i < n; i++) {
			sum += num%10; 
			num /= 10; 
		}
		
		System.out.println(sum);
	}

}

 

나는 이렇게 작성했고 결과도 잘 나왔는데...

 

 

 

 

채점 결과 런타임 에러가 떴다..

 

당연하지만 내가 알아보기 쉽게 작성한 프린트문은 채점 시 지우고 제출했다.

 

 

 

 

다른 예제로 다시 확인해보니 num = sc.nextInt(); 부분에서 에러가 떴다.

 

int 자료형 범위를 초과해서 그런 것 같아 long형으로 바꾸고 nextLong(); 으로 받았는데도 역시나 똑같았다...

 

그래서 아예 String 형으로 받고 한 문자씩 뽑아오는 식으로 바꾸었다.

 

 

import java.util.Scanner;
class Day1 {	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long n = 0, sum = 0;	//자릿수, 합
		String num;	//숫자
		
		n = sc.nextLong();
		
		num = sc.next();
		for(int i = 0; i < n; i++) {
			sum += num.charAt(i)-'0';	
            //charAt() 은 해당 문자의 아스키코드 값을 반환
            // -'0' 해줘야 함
		}
		System.out.println(sum);
	}

}

 

 

예제3 입력 결과

 

 

 

채점 결과

 

 

'코테' 카테고리의 다른 글

[백준 1940] 주몽 JAVA  (0) 2023.01.20
[백준 2018] 수들의 합 5 JAVA  (1) 2023.01.20
[백준 10986] 나머지 합 JAVA  (1) 2023.01.20
[백준 11660] 구간 합 구하기 5 JAVA  (0) 2023.01.20
[백준 1546] 평균 JAVA  (1) 2023.01.20
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함