Super Kawaii Cute Cat Kaoani
본문 바로가기
✍️ Algortihm/Java

[백준] 11720번: 숫자의 합 - JAVA

by wonee1 2024. 8. 14.
728x90

 

 

 

 

✍️풀이방식

 

숫자의 개수가 최대 100자리로 int, long형 같은 숫자형으로 담을 수 없다 

문자열 형태로 입력값을 받은 후 이를 문자 배열로 변환하고 문자 배열값을 순서대로 읽으면서 숫자형으로 변환하여 더해야한다. 

-> toCharArray 함수를 사용하면 이 과정을 쉽게 할 수 있다  

 

toCharArray() 

  • Java.Lang.String 클래스의 메서드로 문자열을 문자형 배열로 변환할 수 있다.
  • 문자 배열의 길이는 문자열의 길이와 같으며, 공백 또한 문자형으로 변환된다.

 

✔️ 아스키코드에서 같은 의미의 문자와 숫자의 코드값 차이는 48이다 문자 '1'은 아스키코드 값이 49이므로 문자 '1'을 숫자 1로 변환하려면 '1'- 48또는 '1'-'0'으로 연산해야한다. 

 

 

 

 


 

 

 

🖥️문제풀이

 

import java.util.*;
import java.io.*;

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 sNum = br.readLine();// 문자열 입력 받기 
        
        char[] cNum=sNum.toCharArray();
        int sum=0;
        
        for(int i=0;i<cNum.length;i++){
            sum+=cNum[i]-'0'; //아스키코드값 48를 빼줘야 char를 int로 변환가능
        }
        
        System.out.println(sum);
    }
}

 

 

 

☑️실행결과 

 

728x90

'✍️ Algortihm > Java' 카테고리의 다른 글

[백준] 11659번: 구간 합 구하기 4 - JAVA  (0) 2024.11.10
자바 코딩 테스트 정리 (1)  (0) 2024.08.28
[백준] 1546번: 평균 - JAVA  (0) 2024.08.14
[백준] 2588번: 곱셈 - JAVA  (0) 2024.06.11
[백준] 1000번 : A+B - JAVA  (1) 2024.06.08