반응형
자릿수 더하기
문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한사항
- N의 범위 : 100,000,000 이하의 자연수
입출력 예
N | answer |
123 | 6 |
987 | 24 |
입출력 예 설명
입출력 예 #1
문제의 예시와 같습니다.
입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.
문제 접근 방식
반복문을 실행하면서 한 자릿수씩 더하면 된다고 생각했습니다.
N의 길이로 반복하는 경우와 while문으로 반복하는 경우 모두 가능해 보이지만 N이 int형이기 때문에 while문을 사용했습니다.
public class Solution {
public int solution(int N) {
int answer = 0;
while(N >= 1) {
answer += N % 10;
N /= 10;
}
return answer;
}
}
문제 풀이
입력으로 주어지는 N을 while문을 이용하여 일의 자리에 위치한 한 자릿수씩 answer 변수에 더해주었습니다.
더해준 뒤에는 N을 10으로 나누고 N이 1보다 크거나 같을 때까지 반복했습니다.
이 과정으로 모든 자릿수의 합을 구할 수 있었습니다.
출처 : https://programmers.co.kr/learn/courses/30/lessons/12931
반응형
'알고리즘 연습 > Lv.1' 카테고리의 다른 글
[ 프로그래머스 ] 약수의 합 JAVA (0) | 2020.08.01 |
---|---|
[ 프로그래머스 ] 정수 제곱근 판별 JAVA (0) | 2020.05.04 |
[ 프로그래머스 ] 짝수와 홀수 JAVA (0) | 2020.05.04 |
[ 프로그래머스 ] 평균구하기 JAVA (0) | 2020.05.04 |