728x90
1. 자바로 정수 자릿수 더하기
- 나누기 연산자(/)
- / 연산자는 정수 나누기를 수행하여 나머지를 제외한 값을 반환합니다. 예: 2345 / 10 = 234
- 나머지 연산자 (%)
- 나누었을 때 나누어 떨어지지 않는 값을 반환합니다.
- 예: 2345 % 10 = 5 (2345를 10으로 나누었을 때의 나머지)
예제 코드:
class Solution {
public int solution(int n) {
int result = 0;
// n이 0이 될 때까지 반복하기
while (n > 0) {
// result에 n % 10을 더하기
result += n % 10; // 예) 2345 % 10 = 5
// n을 10으로 나누기
n /= 10; // 2345 / 10 = 234
}
return result; // 결과: 2 + 3 + 4 + 5 = 14
}
}
2. 문자열로 변환하여 더하기
- 문자열 변환: char 타입을 숫자로 변환할 때 아스키 코드 값을 사용합니다.
- '0'은 48로 변환되고, '1'은 49로 변환됩니다.
- 예: '1' - '0' = 49 - 48 = 1
예제 코드:
class Solution {
public int solution(int n) {
// 문자열로 변환하기
String num = String.valueOf(n);
int result = 0;
// 문자열을 0번째부터 순차적으로 접근
for (int i = 0; i < num.length(); i++) {
// charAt(i)로 해당 문자를 추출(char타입)
result += num.charAt(i) - '0'; // 아스키 코드 변환
}
return result; // 결과: 2 + 3 + 4 + 5 = 14
}
}
다양한 방법으로 구현하기
이 외에도 str.toCharArray()와 같은 다양한 방법으로 정수 자릿수 더하기를 수행할 수 있습니다. 위 두 가지 방식이 대표적으로 사용됩니다.
728x90
'알고리즘' 카테고리의 다른 글
[알고리즘] 경우의 수 (0) | 2024.10.30 |
---|---|
[알고리즘] 비트 연산자 정리 (Java 예제 포함) (0) | 2024.08.23 |
[알고리즘] 진법 변환 (Java) (0) | 2024.08.22 |
[알고리즘] 동적계획법(Dynamic Programming : DP) (0) | 2024.08.20 |
[알고리즘] 소인수분해 (Java) (0) | 2024.08.17 |