-
[Programmers] 자릿수 더하기programing/Algorithm 2021. 2. 11. 19:26
자릿수 더하기
연습문제
level 1
python3
def solution(n): # _sum = 0 # base = 10 # while (n % (base * 10)) != 0: # _sum += (n % base) // (base // 10) # base *= 10 # print(n % base, _sum) _sum = 0 _str = str(n) for c in _str: _sum += int(c, 10) return _sum
반복문으로 풀려고 애쓰다가, 문자열로 바꿔서 풀었다.. ㅋㅋㅋ
진짜 다시 열심히 해야 되겠다는 생각이 들었다.
def solution(n): return sum(map(int,str(number)))
더 최적화 한다면 위와 같이 구현할 수 있다.
def solution(number): return number if number < 10 else (number % 10) + solution(number // 10)
재귀를 이용한 우아한 방법.
1의 자리수일땐 굳이 복잡한 로직이 필요가 없다는 것을, 이 코드를 보고 깨달았다. 😅
'programing > Algorithm' 카테고리의 다른 글
[Programmers] 신규 아이디 추천 (0) 2021.02.11 [Programmers] 자연수 뒤집어 배열로 만들기 (0) 2021.02.11 [Programmers] 이상한 문자 만들기 (0) 2021.02.11 [Programmers] 약수의 합 (0) 2021.01.13 [Programmers] 시저 암호 (0) 2021.01.10 댓글