문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한사항
- N의 범위 : 100,000,000 이하의 자연수
Step1. 문제분석
우선 자연수니까 나누기를 해서 1의 자리수를 변수에 더하면 된다.
그러면 %10을 하면 1의 자리수가 나머지가 될 것이고 그 값을 변수에 더하고, 다시 10을 나누면 된다.
Step2. 문제풀이 코드
public class Solution {
public int solution(int n) {
int answer = 0;
while(n>0)
{
answer += n%10;
n= n / 10;
}
return answer;
}
}
Step3. 다른 사람의 풀이 코드
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 N을 문자열 배열로 변환하고, 문자열 배열에서 값들을 Integer.parseInt로 정수로 변환해 더해준다.
이렇게 형변환만 알고 있다면 쉽게 풀 수 있는 문제였다.
'Java > 알고리즘' 카테고리의 다른 글
[프로그래머스/알고리즘] 정수 내림차순으로 배치하기 (자바/Java) (0) | 2022.11.23 |
---|---|
[프로그래머스/알고리즘] 자연수 뒤집어 배열로 만들기(자바/Java) (0) | 2022.11.21 |
[프로그래머스/알고리즘] 이상한 문자 만들기 (자바/Java) (0) | 2022.11.21 |
[프로그래머스/알고리즘] 완주하지 못한 선수(자바/Java) (0) | 2022.11.21 |
[프로그래머스/알고리즘] 수박수박수박수 (자바/Java) (0) | 2022.11.21 |
댓글