코딩테스트/LeetCode
[LeetCode]202. Happy Number
개발냐옹발
2022. 11. 3. 21:38
https://leetcode.com/problems/happy-number/
Happy Number - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
* 각 자리 숫자를 제곱하여 더한 숫자가 1이 되는지 여부를 확인하는 문제
이 문제의 핵심은 어느 수에 도달했을 때 false를 return 할 것인가 라고 생각된다.
-> 1을 제외한 5이하의 자연수에서는 아무리 제곱을 해도 1이 도출 될 수 없다.
class Solution {
static boolean answer;
public void multi(int n){
int sum = 0;
while(n > 0){
int tmp = n % 10;
n/=10;
sum += (tmp* tmp);
}
if(sum == 1) {
answer = true;
return;
} else if(sum <= 5) {
answer = false;
return;
} else multi(sum);
}
public boolean isHappy(int n) {
multi(n);
return answer;
}
}