요즘에는 개발자들이 회사에 취업하기 위해서 사용한다는 리트코드 (leetcode) 사이트의 문제들을 풀어보고 있습니다. 이제 막 시작한 초보자라 힘든 점이 많아서 이렇게 글로 남겨서 복습하려고 합니다.
문제: Add Digits
등급: Easy
내가 적고 엄청 느린 코드
<코드>
class Solution(object):
def addDigits(self, num):
if num < 10:
return num
while num >= 10:
prev = 0
while num > 0 :
prev += num % 10
num = num // 10
num = prev
return num
<논리>
우선, 숫자가 10보다 작으면 바로 그대로 반환하도록 했다.
그 후, 만약 숫자가 10보다 클 경우, 숫자를 10으로 나눠서 남는 값, 즉 마지막 digit의 수를 계속 더했다. (while loop을 활용하여)
그리고 num을 반환.
하지만, 고작 6.6%보다 빠른 코드라니... 그래도 통과한 것이 어딘가! (그것도 한번에)
Happy coding!
'코딩 공부' 카테고리의 다른 글
Leetcode 171. Excel Sheet Column Number 파이썬 (0) | 2022.02.23 |
---|---|
Leetcode 441. Arranging Coins - 파이썬 (0) | 2022.02.20 |
Leetcode 27. Remove Element Python (0) | 2022.02.11 |
Leetcode 14. Longest Prefix (0) | 2022.02.09 |
댓글