728x90
내용:
입력값
알고리즘:
숫자 n을 k번 반복한 수의 각 자리 수 합을 구한다(n의 각 자리 수 합*k와 동일)
그 수가 10보다 작은 한 자리 수의 경우 리턴
아니면 한 번 더 superDigit을 시행하여 한 자리 수가 나올 때까지 반복
def superDigit(n, k):
n=int(n) #문자열인 n을 정수로 변환
sum=0
while n>0:
sum+=n%10
n=int(n//10)
n=sum*k
if n<10: #재귀함수
return n
else:
return superDigit(n,1)
마지막에 return 없이 superDigit(n,1)만 써서 None이 계속 나왔었습니다
꼭 return 써주기
참고자료
재귀함수에 return 사용하지 않으면 None이 나오는 이유
[개념 정리] Python None 리턴하는 경우 / 재귀함수 None 리턴
예상 대진표 문제를 풀이하다가 만나게 된 문제, 정확히 알지 못해서 기본적인 개념이지만 정확하게 정리해두려고 한다.파이썬에서 함수가 return문이 없어도 되고, 없으면 리턴 없이 끝나는 줄
velog.io
사실 뭐가 다른 지 모르겠지만 문제가 안풀린다면 둘을 바꿉시다
https://www.acmicpc.net/board/view/91635
글 읽기 - python a//b 와 int(a/b)의 차이
댓글을 작성하려면 로그인해야 합니다.
www.acmicpc.net
'코딩테스트 문제 > Hackerrank' 카테고리의 다른 글
[HackerRank] New Year Chaos (0) | 2023.05.27 |
---|---|
[HackerRanck] Grid Challenge (0) | 2023.05.15 |
[HackerRank] Caesar Cipher (0) | 2023.05.15 |