Algorithm/Baekjoon

[백준] 11720번 - 숫자의 합 | Java | Python

by somida 2022. 10. 19.

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

 

11720번: 숫자의 합

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

www.acmicpc.net

문제

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

 

입력

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

 

출력

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

 

 


제출

1. Java - charAt()

import java.util.Scanner;

public class P_11720 {
    public static void main(String[] args) {
         Scanner sc = new Scanner(System.in);
         int cnt = sc.nextInt();
         String intString = sc.next();

         int answer = 0;
         for (int i=0; i<cnt; i++) {
             answer += intString.charAt(i) - '0';
         }
         
         System.out.println(answer);
    }
}

* charAt() : String타입을 char타입으로 변환할 때 사용

    - 아스키코드의 값을 반환하기 때문에 '0' 혹은 48을 빼주어야 우리가 원하는 숫자값을 얻을 수 있다. ('0' : 48, '1' : 49 ...)

 

 

2. Java - toCharArray()

import java.util.Scanner;

public class P_11720 {
    public static void main(String[] args) {
         Scanner sc = new Scanner(System.in);
         int cnt = sc.nextInt();
         String intString = sc.next();
         char[] charString = intString.toCharArray();     // string -> char[]로 변환

         int answer = 0;
         for (int i=0; i<charString.length; i++) {
             answer += charString[i] - '0';
         }
         
         System.out.println(answer);
    }
}

 

 

3. Python

cnt = int(input())
intString = list(map(int, input()))
print(sum(intString))

 

 

 

 

반응형

댓글