알고리즘
[프로그래머스, 자바] 자릿수 더하기
hminor
2024. 3. 20. 11:04
반응형
풀이
- 단순하게 10으로 나눈 나머지를 계속 더하는 방법도 있지만
- 자바에 대해 익숙해지기 위해 형변환을 하여 값을 추가하고자 해서
- 아래와 같이 해결했는데
- 해결 과정에서 파이썬의 range(시작, 끝)과 같은 걸 for-each로 접근하고 싶었는데
- 잘 되지 않아 찾아본 결과 stream을 사용하면 되어 두 번째 해결 방법처럼 하면 해결이 된다.
- 아 그리고 charAt()으로 문자를 가져온 다음 변형하려면 String.value()로 형변환은 한 번 더해야함.
import java.util.*;
public class Solution {
public int solution(int n) {
int result = 0;
String s_n = String.valueOf(n);
for (char num: s_n.toCharArray()) result += Integer.parseInt(String.valueOf(num));
return result;
}
}
// 평소처럼 import java.util.*; 을 할 때는 에러가 발생하니 주의할 것.
import java.util.stream.*;
public class Solution {
public int solution(int n) {
int result = 0;
String s_n = String.valueOf(n);
for (int idx: IntStream.range(0,s_n.length()).toArray()) result += Integer.parseInt(String.valueOf(s_n.charAt(idx)));
return result;
}
}