728x90

문제
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
- 출력 예시 -

정답 코드
< 내 정답 코드 >
import java.util.*;
public class Solution {
public int solution(int n) {
int sum = 0;
while (n > 0) {
sum += n % 10;
n /= 10;
}
return sum;
}
}
< 타인 답변 코드 >
import java.util.*;
public class Solution {
public int solution(int n) {
int answer = 0;
String[] array = String.valueOf(n).split("");
for(String s : array){
answer += Integer.parseInt(s);
}
return answer;
}
}
이것을 주의하자!
- 숫자를 뒤에서 하나씩 빼서 더하는 코드. 어렵지 않다.
- 타인 답변 코드에서 보면 형 변환을 통해 풀었다. int 형으로 들어온 값을 String 으로 바꾼 다음, 다시 String [] 로 만든다. 그리고 for 문을 통해 하나씩 꺼내면서 다시 int 형으로 바꾼다. 효율적인 면에서 좋을지 몰라도 해당 알고리즘은 앞으로 유용할 것 같다.
'코딩 테스트' 카테고리의 다른 글
| [프로그래머스] (Lv.1) 약수의 합 (0) | 2022.08.31 |
|---|---|
| [프로그래머스] (Lv.1) 이상한 문자 만들기 *** (0) | 2022.08.31 |
| [프로그래머스] (Lv.1) 자연수 뒤집어 배열로 만들기 (0) | 2022.08.31 |
| [프로그래머스] (Lv.1) 정수 내림차순으로 배치하기 (0) | 2022.08.31 |
| [프로그래머스] (Lv.1) 정수 제곱근 판별 (0) | 2022.08.31 |