
* 문제 풀이
class Solution {
public int solution(String num_str) {
int answer = 0;
for(int i = 0; i < num_str.length(); i++){
answer += num_str.charAt(i) -'0';
}
return answer;
}
}

for 문으로 문자열 하나씩 뗴와서 charAt() 함수를 통해 string 타입을 char 타입으로 반환
처음에 answer += num_str.charAt(i) -'0';에서 -'0'을 안 해줘서 유니코드 더한 값이 계산되어서 틀린 답이 나왔었다.
* - '0'을 하는 이유?
문자 (char)로 표현된 숫자를 정수 (int)로 변환하기 위함
0의 유니코드 값 = 48
1의 유니코드 값 = 49
49 - 48 = 1 실제 정수 값이 됨.
+) charAt() 정리
[JAVA] charAt() 함수
▶ charAt() 함수String 타입의 문자열의 특정 위치에 있는 문자를 char 타입으로 반환하는 함수.유니코드 값 자체를 다루거나 변경하기 위한 목적 X ('A'의 유니코드 값은 65. 65가 아닌 'A'가 출력됨)유
amy-g.tistory.com
* 프로그래머스 다른 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/181849/solution_groups?language=java
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
'코테 > 프로그래머스 JAVA Lv.0' 카테고리의 다른 글
| [프로그래머스/java/Lv.0] n의 배수 고르기 ⭐⭐⭐ (0) | 2024.11.25 |
|---|---|
| [프로그래머스/java/Lv.0] 정수 부분 (0) | 2024.11.22 |
| [프로그래머스/java/Lv.0] 문자 반복 출력하기 (1) | 2024.11.20 |
| [프로그래머스/java/Lv.0] 가장 큰 수 찾기⭐ (0) | 2024.11.19 |
| [프로그래머스/java/Lv.0] 가위 바위 보 (0) | 2024.11.18 |