티스토리 뷰

서론
함수 단계가 드디어 끝나고 문자열 단계로 진입했다.
백엔드 부트캠프를 등록하고 다음 날... 보다 진지한 태도로 공부해야겠다.
문제
N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
정수를 문자열로 입력받는 문제. Python처럼 정수 크기에 제한이 없다면 상관 없으나, 예제 3은 일반적인 정수 자료형에 담기에 너무 크다는 점에 주목합시다.
입력
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
출력
입력으로 주어진 숫자 N개의 합을 출력한다.
시행착오(Trial&Error)

51491876 - 틀렸습니다
| Problem Description | error: incompatible types: char cannot be converted to String
!error: incompatible types: char cannot be converted to String
Main.java:12: error: incompatible types: char cannot be converted to String
sum += Integer.parseInt(num.charAt(i));
^
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
1 error
해석
문자형 데이터를 문자열 데이터로 형 변환할 수 없어 호환되지 않는다.
Integer.parseInt()는 문자열을 숫자형으로 변환하는 값이기 때문에 에러가 발생했다.
풀이(Solution)
이러한 경우, charAt(idx)를 사용하여 문자열을 문자 단위로 쪼개준 후, 각 문자에 대해 Integer.parseInt()를 사용한다.
코드
import java.io.*;
import java.util.StringTokenizer;
class Main {
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
String num = br.readLine();
int sum = 0;
for(int i = 0; i < N; i++) {
sum += num.charAt(i) - '0';
}
br.close();
System.out.println(sum);
} catch(IOException e) {}
}
}'알고리즘 > 문제풀이 - 백준' 카테고리의 다른 글
| [백준 2675번] 문자열 반복(JAVA) (0) | 2022.11.11 |
|---|---|
| [백준 10809번] 알파벳 찾기(JAVA) (0) | 2022.11.10 |
| [백준 1065번] 한수(JAVA) (0) | 2022.11.08 |
| [백준 4673번] 셀프 넘버(JAVA) (0) | 2022.11.07 |
| [백준 4344번] 평균은 넘겠지(JAVA) (2) | 2022.11.05 |
댓글
공지사항
