개발 로그/알고리즘
202. Happy Number.cpp
CyberSoak
2021. 11. 24. 14:33
🔑 반복되는 sum이 있을 때, 무한 루프 돌게 되는 점을 착안하여 알고리즘을 구상한다.
class Solution {
public:
bool isHappy(long long n) {
int sum =0;
long long maxn =0;
int cnt =0;
while(1){
cnt++;
while(n!=0){
sum += pow(n%10,2);
n/=10;
}
n = sum;
sum =0;
if(n==maxn) return false;
if(n==1) break;
if(cnt>5 && n>maxn) maxn = max(n,maxn);
}
return true;
}
};