• Feed
  • Explore
  • Ranking
/

    [Baekjoon]숫자의 합(11720번)

    배열 관련 숫자의 합 문제를 풀어보자
    백준브론즈배열코딩테스트알고리즘
    w
    wooni423
    2024.06.16
    ·
    4 min read

    본 포스팅은 백준 온라인 저지 에서 제공하는 문제의 풀이를 비상업적 목적으로 게시하였습니다.

    ℹ️ 문제 정보

    https://www.acmicpc.net/problem/28432

    until-521until-522

    🔍 문제 분석

    • 입력받는 숫자의 개수 N이 1≤N≤100 이므로 최대 100자리의 N은 int,long 자료형으로 저장할 수 없다. 문자열 형태로 저장해야 한다.

    • 문자열로 저장 후 각각의 문자로 분리한다. → 문자열을 문자의 배열로 분리한다.

    • 각각의 문자를 숫자로 변환한다.

    • 변환된 숫자들을 더한다.

    🖊️ 구체화 하기

    1. 입력받은 숫자의 개수만큼 String으로 저장한다.

    2. String으로 입력받은 값을 char[]형으로 변환한다.

    3. 인덱스 0부터 배열을 탐색하며 각 값을 정수형으로 변환하고 결과값에 더하여 누적한다.

    🗒️ 의사 코드 작성

    1. N 값 입력받기

    2. 길이 N의 숫자를 입력받아 String 변수sNum에 저장하기

    3. sNum을 다시 char[]g형 변수 cNum에 변환하여 저장하기

    4. int 형 변수 sum선언하기

    5. for(cNum 길이만큼 반복하기) {
      배열의 각 자릿값을 정수형으로 변환하며 sum에 더하여 누적하기
      }

    6. sum 출력

    ✅ 나의 정답 코드

    until-523
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    /*   1. N 값 입력받기
         2. 길이 N의 숫자를 입력받아 String 변수 sNum에 저장하기
         3. sNum을 다시 char[]형 변수 cNum에 변환하여 저장하기
         4. int 형 변수 sum선언하기
         5. for(cNum 길이만큼 반복하기)
         {
         배열의 각 자릿값을 정수형으로 변환하며 sum에 더하여 누적하기
         }
         6. sum 출력
      */
    public class 숫자의합구하기11720 {
    
        public static void main(String[] args) throws IOException {
    
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            int N = Integer.parseInt(br.readLine());
            String sNum = br.readLine();
    
            char[] cNum = sNum.toCharArray();
            int sum = 0;
    
            for (char num : cNum) {
                sum += num - '0'; // *아스키 코드 값을 이용한 문자의 숫자 변환
            }
            System.out.println(sum);
        }
    }

    🤔 회고

    • 문제 분석 → 구체화 → 의사 코드 작성의 사고 순서를 앞으로도 적용해 봐야겠다.

    • 아스키코드를 사용한 문자의 숫자 변환은 매우 빈번하게 쓰이므로 숙지해 둘 것.

    📚 참고자료

    • https://www.inflearn.com/course/%EB%91%90%EC%9E%87-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%9E%90%EB%B0%94/dashboard