[프로그래머스/181914] 9로 나눈 나머지
in Study / Coding Test
☑️ 문제
☑️ 풀이
number.charAt(i)
의 반환타입인Character
에서int
으로 변환한 값을 sum에 더해주는 부분에서 막혀서 변환 방법을 검색하여 풀었다.Character
타입은 ASCII 코드로 출력되는 걸 알고있었는데도 고민하지 않고 바로 검색한 것을 반성 또 반성한다…
class Solution {
public int solution(String number) {
int sum = 0;
for (int i = 0; i < number.length(); i++) {
sum += number.charAt(i) - '0';
}
return sum % 9;
}
}
☑️ 문법 정리 - Char → int로 변환
Char 출력
- char 타입의
1
을int
으로로 형변환 시, 문자1
의 아스키코드인 49가 출력된다.
int cnt = 0;
char c = '1';
cnt = c;
System.out.println(cnt); // 결과 : 49
- 아스키(ASCII) 코드
- 문자 0~9는 48~57로 이루어져 있다.
1. ASCII 코드를 사용하여 ‘0’ 빼주기
- 문자 ‘0’의 ASCII 코드인 48을 빼주면 원하는 숫자를 얻을 수 있다.
int cnt = 0;
char c = '1';
cnt = c - '0';
System.out.println(cnt); // 결과 : 1
2. Character.getNumericValue()
- 자바의 Character 클래스의 내장 함수인
Character.getNumericValue()
를 사용하면 형변환이 된다.
char c = '1';
System.out.println(Character.getNumericValue(c)); // 결과 : 1