[Java]백준11720_숫자의 합 구하기

728x90

백준11720_숫자의 합 구하기

1) 문제 분석하기

 1-1)  N의 범위가 1부터 100까지 이므로 int형, long형과 같은 숫자형으로 담을 수 없다

 1-2) 문자열형태로 입력받고 이를 문자열 배열로 변환 후, 문자 배열값을 순서대로 읽어오면서 숫자형으로 변환해 더해야 합니다.

 1-3) 적절한 함수 사용

   - 입력 : Scanner

   - String타입 -> char타입 변환후 배열 : tocharArray

    - for 반복문

 

2) 손으로 써가며 풀어보기

 

 

3) 슈도코드 작성하기 (Pseudo-code란?프로그램의 진행 과정을 단계별로 기록해 놓은 것. 

 - N값 입력 받기

 - N의 숫자를 입력받아 String형 변수 sNum에 저장

 - sNum을 다시 char[]형 변수 cNum[]에 변환하여 저장

 - int형 변수 sum선언하기

 - for(sNum 길이만큼 반복하기)

 - 배열의 각 자리값을 정수형으로 변환하여 sum에 누적하여 더해주기

 - sum 출력하기

 

4) 구현하기

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        String sNum = sc.next();

        char cNum[] = sNum.toCharArray();
        int sum = 0;

        for (int i = 0; i < cNum.length; i++) {
        	// -'0' 을 해주는 이유는 아스키코드
            //문자열을 int형으로 변환해줄때는
            //문자열 -'0' 을 꼭 해줘야 합니다. 
            sum += cNum[i] - '0';
        }
        System.out.println(sum);
    }
}

 

 

풀이해설 : https://www.youtube.com/watch?v=0uhy851SDng&t=107s

728x90