[LeetCode][Python3] 202. Happy Number
2018. 11. 4. 18:19 |
프로그래밍/LeetCode
Problem :
https://leetcode.com/problems/happy-number/
My Solution :
class Solution:
def isHappy(self, n):
"""
:type n: int
:rtype: bool
"""
loop = set()
while n != 1:
n = sum([int(x)**2 for x in str(n)])
if n in loop:
return False
loop.add(n)
return True
Comment :
2~9까지 다 해보니까 7일때만 끝나고 나머지는 전부 4 16 37 58 89 145 42 20 loop를 도는 것을 확인하였다. 그래서 4 또는 0을 만나면 return False 하면 되기는 하는데... 그건 눈으로 확인한거고 코드로 loop 발견은 set을 활용하면 간단하다.
'프로그래밍 > LeetCode' 카테고리의 다른 글
[LeetCode][Python3] 242. Valid Anagram (0) | 2018.11.04 |
---|---|
[LeetCode][Python3] 237. Delete Node in a Linked List (0) | 2018.11.04 |
[LeetCode][Python3] 217. Contains Duplicate (0) | 2018.11.04 |
[LeetCode][Python3] 204. Count Primes (0) | 2018.11.04 |
[LeetCode][Python3] 191. Number of 1 Bits (0) | 2018.11.04 |
[LeetCode][Python3] 190. Reverse Bits (0) | 2018.11.04 |
[LeetCode][Python3] 189. Rotate Array (0) | 2018.11.03 |
[LeetCode][Python3] 172. Factorial Trailing Zeroes (0) | 2018.11.03 |
최근에 달린 댓글 최근에 달린 댓글