본문 바로가기
Baekjoon 자바 코드/문자열

[백준] 11720번 숫자의 합 풀이 코드 (Java 자바)

by 망댕이 2024. 8. 26.
반응형

 

첫 번째 줄의 숫자 개수만큼 두 번째 줄에 일의 단위 숫자들을 나열하여 두 번째 줄의 수 합을 구하는 문제이다.

접근 방법)

첫번째 줄의 입력 값만큼 for문을 반복하여 두 번째 줄의 입력값을 하나씩 누적해서 더하면 된다.

for문 안에서 두번째 줄 입력값을 하나씩 뽑아내기 위해서는 아래와 같이 코드를 작성하여 풀이하면 된다.

 

 

▷ char -> Int 형으로 변환하기

str.charAt(i)을 그대로 사용하여 출력하게 되면 아스키코드 값이 출력된다.

그래서 정수 0의 아스키 코드아스키코드 값이 48, 1의 아스키코드 값이 49를 가지기 때문에 str.charAt(i)에 -48을 해주어 우리가 출력하고자 하는 정수값을 만들어주어야 한다.

 

for(int i =  0; i < n; i++){
    int c = str.charAt(i)-48; // -48을 하는 이유는 0부터 정수의 아스키코드 값이 48부터 시작하기 때문이다
    // String str = sc.next();
    num = num + c; 
}

 

 

정답 코드 1)

import java.util.*;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        String str = sc.next();
        int num = 0;
        for(int i =  0; i < n; i++){
            int c = str.charAt(i)-48;
            num = num + c;
        }
        System.out.println(num);
    }
}
반응형