반응형
코딩하기 전 생각하기
/*
기록을 저장할 unordered_set을 생성한다.
n이 1이 될 때까지 반복한다.
숫자 변수에 각 자릿수를 제곱한 값을 더한다.
숫자 변수가 set에 존재하면 false를 반환한다.
숫자 변수를 set에 추가한다.
n에 숫자 변수를 저장한다.
반복문에서 벗어나면 true를 반환한다.
*/
코드
class Solution {
public:
bool isHappy(int n) {
unordered_set<int> us;
while ( n != 1 ) {
int sum = 0;
string s = to_string(n);
for ( auto c : s )
sum += (c - '0') * (c - '0');
if ( us.find(sum) != us.end() )
return false;
us.insert(sum);
n = sum;
}
return true;
}
};
느낀점
2021년 하계 SW아카데미 PPS Camp 수료를 축하합니다! 🎉
(주의) 기록용으로 작성한 글입니다. 코드가 허접하거나 알고리즘의 효율이 낮을 수 있습니다.
댓글 환영합니다!
반응형
'Algorithm > LeetCode' 카테고리의 다른 글
[LeetCode] 242. Valid Anagram (C++) (0) | 2021.09.03 |
---|---|
[LeetCode] 338. Counting Bits (C++) (0) | 2021.08.05 |
[LeetCode] 13. Roman to Integer (C++) (0) | 2021.08.01 |
[LeetCode] 1. Two Sum (C++) (0) | 2021.08.01 |
[LeetCode] 26. Remove Duplicates from Sorted Array (C++) (0) | 2021.08.01 |
댓글