https://www.acmicpc.net/problem/11720
🗒 풀이
java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
String s = sc.next();
sc.close();
int sum = 0;
for (int i = 0; i < N; i++) {
sum += (int) s.charAt(i) - '0';
}
System.out.println(sum);
}
}
입력받을 값들의 크기 N을 입력받는다.
N만큼 for문을 돈다고 명시하고, 입력받은 문자열 s를 탐색한다.
이 때, 각각의 문자열의 값을 더해야하므로 sum 변수를 미리 지정해놓는다.
charAt은 해당 문자의 아스키 코드를 반환하므로, '0'을 뺌으로써 입력받은 숫자 값 그대로 반환받을 수 있도록 한다. '0' 이나 -48을 해도 좋다.
python
N = int(input())
s = input()
total = 0
for i in range(N):
total += int(s[i])
print(total)
입력받은 값 N 만큼의 for문 범위를 생성하고,
문자열 각 자리를 탐색한다. 해당 문자열을 int로 바로 변환하고, total 변수에 누적해준다.
'알고리즘' 카테고리의 다른 글
[프로그래머스] 로또의 최고 순위와 최저 순위 (python) (0) | 2022.07.29 |
---|---|
[백준] 1929번: 소수 구하기 (java, python) (0) | 2022.07.19 |
[백준] 11654번: 아스키 코드 (java, python) (0) | 2022.07.15 |
[백준] 10998번: A×B (java, python) (0) | 2022.07.15 |
[백준] 10952번: A+B - 5 (java, python) (0) | 2022.07.15 |