본문 바로가기
Problem Solving/백준

[백준 알고리즘] 11720: 숫자의 합 풀이(자바)

by 청량리 물냉면 2021. 8. 25.
반응형
문제

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

 

11720번: 숫자의 합

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

www.acmicpc.net

 

코드
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		String number = sc.next();
		int sum = 0;
		
		for(int i = 0; i < num; i++) {
			sum += Integer.valueOf(number.charAt(i)-'0');
		}
		
		System.out.println(sum);
		
		sc.close();
	}
}

 

코드 설명
sum += Integer.valueOf(number.charAt(i)-'0');

number.charAt(i)를 통해 0번째 인덱스부터 숫자를 읽어들인다.

읽어들인 숫자에 '0'(아스키코드로는 48)을 빼서 실제 숫자를 반환한다.

 

ex. 5의 아스키 코드 = 십진수 53. 

     53 - 48 = 5 이므로 실제 정수형 숫자값을 반환 가능

 

이미 반환되는 값의 형식 자체가 정수이므로 앞의 Integer.valueOf는 없어도 됨. 

사용자가 입력한 num의 값만큼 전체 루프를 돌면서 반환받은 정수를 sum에 저장한 뒤 최종 출력.

 

 

마무리

자바에서 charAt() 함수가 자주 쓰이니 익숙해지자. 
 

 

반응형