Algorithm/Leet Code
[LeetCode] 202. Happy Number (TDD, 코테, 릿코드, tech interview)
Ginjoe
2021. 12. 29. 23:32
간만에 문제풀이
- 테스트코드
import static org.assertj.core.api.Assertions.assertThat;
import org.junit.jupiter.api.Test;
public class LeetCode_0202_HappyNumberTest {
@Test
public void isHappyTest() {
LeetCode_0202_HappyNumber test = new LeetCode_0202_HappyNumber();
assertThat(test.isHappy(19)).isEqualTo(true);
assertThat(test.isHappy(2)).isEqualTo(false);
}
}
- 풀이코드
import java.util.HashSet;
import java.util.Set;
public class LeetCode_0202_HappyNumber {
boolean isHappy(int n) {
int sumOfSquaresOfDigits = n;
Set<Integer> set = new HashSet<>();
while (sumOfSquaresOfDigits != 1 && !set.contains(sumOfSquaresOfDigits)) {
set.add(sumOfSquaresOfDigits);
sumOfSquaresOfDigits = getSumOfSquaresOfDigits(sumOfSquaresOfDigits);
}
return (sumOfSquaresOfDigits == 1);
}
private int getSumOfSquaresOfDigits(int number) {
int sum = 0;
while (number > 0) {
sum += Math.pow((number % 10), 2);
number /= 10;
}
return sum;
}
}
2021.12.28 - [Programming] - Effective Java 2/E, 이펙티브 자바 책 핵심요약
Effective Java 2/E, 이펙티브 자바 책 핵심요약
전체 목차 Github https://github.com/itdar/TIL/blob/main/books/effective_java/effective_java.md GitHub - itdar/TIL: Today I Learned Today I Learned. Contribute to itdar/TIL development by creating an..
itdar.tistory.com