Dev Hyeri

◖코딩 테스트◗▬▬▬▬▬▬▬▬▬/백준

[백준] 11720 숫자의 합 (설명/코드/정답)

_hyeri 2024. 6. 12. 23:54

문제 링크 : https://www.acmicpc.net/problem/11720

 

 

 

  난이도
알고리즘  
 
브론즈4 수학, 구현, 문자열  

 

1. 요구 사항 이해

시간, 메모리 제한 : 1초 / 256MB

공백없는 숫자로된 문자열.

구성하고 있는 숫자의 개수 N (1 ≤ N ≤ 100)

구성하고 있는 숫자의 합을 구하는 프로그램 

 

 

 

2. 설계/검증 


함수화

입력을 위한 객체 생성
int N = scan.nextInt()
N 범위 유효성검사
String str = scan.next()
for(N번 반복){
sum += chaAt(i)

}

 

복잡도

시간 복잡도  최악의 경우  공간 복잡도
O(N)   O(N)

 

 

 

 

 

 

3. 정상 코드

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        
        Scanner scan = new Scanner(System.in);

        int N = scan.nextInt();

        if (N < 1 || N > 100) {
            System.out.println("범위 (1 ≤ N ≤ 100)");
            return;
        }
        String nums = scan.next();

        if (nums.length() != N) {
            System.out.println("입력된 숫자가 N개 아님");
            return;
        }

        int sum = 0;
        for (int i = 0; i < N; i++) {
            if (Character.isDigit(nums.charAt(i))) {
                sum += Character.getNumericValue(nums.charAt(i));
            } else {
                System.out.println("숫자가 아님");
                return;
            }
        }
        System.out.println(sum);
        scan.close();
    }
}