반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/120906?language=python3
🐍파이썬
def solution(n):
return sum(list(map(int, str(n))))
map() 함수를 이용해 숫자의 각 자리를 list의 원소로 넣고, sum() 함수를 이용해 리스트 원소의 합계를 구한다.
다른 풀이 방법
def solution(n):
return sum(int(i) for i in str(n))
def solution(n):
answer = 0
while n:
answer += n%10
n //= 10
return answer
n의 값을 10으로 나누며 나머지를 answer에 더하고, 몫은 다시 n에 대입하기를 반복하며 각 자리 수의 합을 구한다.
n | n%10 |
930211 | |
93021 | 1 |
9302 | 1 |
930 | 2 |
93 | 0 |
9 | 3 |
9 |
def solution(n):
answer = 0
while n:
n, r = divmod(n, 10)
answer += r
return answer
위 풀이법을 divmod()를 이용해 진행
🐥자바스크립트
function solution(n) {
n = n.toString()
return n.split("").map((v) => Number(v)).reduce((acc, cur) => acc + cur);
}
다른 풀이 방법
function solution(n) {
return n
.toString()
.split("")
.reduce((acc, cur) => acc + Number(cur), 0);
}
reduce내에서 Number로 형변환해 누적값을 계산할 수 있다.
function solution(n) {
let result = 0;
while (n > 0) {
result += n % 10;
n = Math.floor(n/10);
}
return result;
}
반응형
'Problem Solving > 프로그래머스' 카테고리의 다른 글
[프로그래머스 | 파이썬 / 자바스크립트] 둘만의 암호(연습문제/ level 1) (0) | 2023.02.22 |
---|---|
[프로그래머스 | 파이썬 / 자바스크립트] 순서쌍의 개수(코딩테스트 입문/ level 0) (0) | 2023.02.22 |
[프로그래머스 | 파이썬 / 자바스크립트] 안전지대(코딩테스트 입문/ level 0) (0) | 2023.02.22 |
[프로그래머스 | 파이썬 / 자바스크립트] n의 배수 고르기(코딩테스트 입문/ level 0) (2) | 2023.02.21 |
[프로그래머스 | 파이썬 / 자바스크립트] 최댓값 만들기 (2)(코딩테스트 입문/ level 0) (0) | 2023.02.21 |
[프로그래머스 | 파이썬 / 자바스크립트] 숨어있는 숫자의 덧셈 (1)(코딩테스트 입문/ level 0) (0) | 2023.02.20 |