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 |