본문 바로가기

개발(합니다)/알고리즘&코테

알고리즘 단계별로 풀어보기 : BOJ-11720(숫자의합)

반응형

문제(출처)

N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.


입력

첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.


출력

입력으로 주어진 숫자 N개의 합을 출력한다.


예제 입력1

1

1


예제 출력1

1


예제 입력2

5

54321


예제 출력2

15


내 풀이

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {
    public static void main(String args[]) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // input을 선언
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); // writer를 선언
        try {
            String len = br.readLine(); // 첫 번쨰 입력 값을 받음
            String str = br.readLine(); // 두 번쨰 입력 밧을 받음
            int sum = 0; // 총 합을 저장 할 변수
            for(int i=0; i < Integer.parseInt(len); i++) {
// 0부터 시작하고 첫 번째 값만큼 1씩 증가하는 반복문
                sum += (int) str.charAt(i)-48;
// 두 번째 값을 한 문자씩 읽어오고 아스키 코드 교정을 위해 -48하여 합함
            }
            bw.write(String.valueOf(sum)); // 결과 출력
            bw.flush();
            bw.close();
            
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }
}



내 풀이 해석 및 느낀점

입력 받은 첫번째 값만큼 두번째 값을 입력받습니다.
입력 받은 첫번째 값만큼 반복하여 두번째 값을 합하여 출력합니다.

1자리 수만 입력 받을 수 있는 문제입니다.
만약 2자리 수라면?


반응형