[백준] 11720번: 숫자의 합 - Java, 자바

xxx-sj·2023년 8월 29일
0

알고리즘

목록 보기
29/46


문제접근

숫자의 개수를 입력받고 두 번쨰 문자열을 입력받아
각각 인덱스의 값을 더하면 해결할 수 있는 문제이다.
여기서 주의해야 하는 점은 String으로 입력받은 값에 대해
char를 통해 문제를 해결하였는데, 타입 캐스팅일 때 char -> int로 변환하게 되면
아스키코드로 해석되어 48~ 값이 할당된다. 따라서 char를 string으로 변환한 후 int로
다시 변환하여 값을 더해야 한다.

전체코드

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int N = Integer.parseInt(br.readLine());

        String number = br.readLine();

        int result = 0;
        for(int i = 0; i < number.length(); i++) {
            /**
             * 여기서 주의해야할 점은 String.valueOf(number.charAt(i))를 사용해야 하지
             * (int)number.charAt(i);를 사용해버리면 해당 char값을 아스키 코드 값으로 변경하여 48~ 부터 시작하는 값으로 변경되어 버린다.
             */
            int num = Integer.parseInt(String.valueOf(number.charAt(i)));
            result += num;
        }

        System.out.println(result);
    }
}
profile
틀려도 일단 기록하자

0개의 댓글