[코딩테스트] 백준 11720 자바

Henson·2025년 5월 13일

코딩테스트

목록 보기
1/50
post-thumbnail

백준 11720

백준 11720 문제

import java.util.*;

public class Boj11720 {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int numCount = sc.nextInt(); // 필요 없는 값
        String number = sc.next(); // 최대 100자리 수까지 들어올 수 있어 int형이나 long형을 사용할 수 없기 때문에 String형으로 받는다.

        String[] numbers = number.split(""); // number을 split 메서드로 한글자씩 나누어 문자열 배열에 담는다.

        int sum = 0; // 숫자들의 합을 0으로 초기화

        for (String num : numbers) { // 각 숫자가 담긴 문자열 배열을 반복한다.
            sum += Integer.parseInt(num); // 배열의 모든 값을 숫자로 변환하여 sum 변수에 더한다.
        }

        System.out.println(sum);
    }
}

풀이

  1. 해당 문제에서 입력되는 수의 최대 자리수가 100이다.
  2. 만약 100자리의 수가 입력된다면 int형이나 long형으로는 해당 값을 담을 수 없다.
  3. 따라서 String형으로 수를 받는다.
  4. split("") 메서드로 입력 받은 수를 각각의 숫자로 나누어 문자열 배열에 담는다.
  5. 문자열 배열을 돌면서, Integer.parseInt()int형으로 변환한다.
  6. 변환된 수를 sum 변수에 더해준다.

주의할 점

풀이의 1,2번과 같이 매우 큰 수가 입력될 경우에 해당 수가 int형이나 long형으로 담을 수 있는 수인지 생각을 판단하고, long형으로 담을 수 없는 경우 String형으로 받을 것을 고려한다.

profile
세계 최고의 개발자가 되고 말겠어.

0개의 댓글