728x90
문제
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한 조건
N의 범위 : 100,000,000 이하의 자연수
예시
N | answer |
123 | 6 |
987 | 24 |
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.
실행 코드
파이썬
# Ver.1
def solution(n): # 함수(solution) 선언, n(int)을 받아옴
answer = 0 # 결과값 변수
# 각 자리수 더하기
# n을 string형으로 바꿔 배열로 만들어준 후,
# 각 자리의 숫자를 순서대로 더해준다.
for i in str(n):
answer += int(i)
return answer # 결과값 반환
# print("결과 : {}".format(solution(123)))
# Ver.2
return sum([int(i) for i in str(n)])
# Ver.3
return sum(map(int,str(n)))
자바
// Solution.java
public class Solution {
public int solution(int n) {
int answer = 0;
# n이 0 이상일때, 각 자리수 구하기
while (n > 0) {
answer = answer + (n % 10); // 일의 자리수를 더함
n = n / 10; // 자리수를 하나씩 줄임
}
return answer;
}
// public static void main(String[] args) {
// Solution solution = new Solution();
// System.out.println(solution.solution(123));
// }
}
반응형
'Algorithm > Programmers (프로그래머스)' 카테고리의 다른 글
[프로그래머스][레벨1] 자연수 뒤집어 배열로 만들기_연습문제 (0) | 2021.12.09 |
---|---|
[프로그래머스][레벨1] 약수의 합_연습문제 (0) | 2021.11.24 |
[프로그래머스][레벨1] 평균 구하기_연습문제 (0) | 2021.11.22 |
[프로그래머스][레벨1] x만큼 간격이 있는 n개의 숫자_연습문제 (0) | 2021.11.21 |
[프로그래머스][레벨1] 직사각형 별찍기_연습문제 (0) | 2021.11.21 |