오늘 한 일
- 알고리즘
- 알고리즘 강의 듣기: 순환함수(recursion) 응용: Counting cells in a blob
- 이틀 전 실패했던 leetcode PowerOfFour 순환함수로 풀기 성공.
- 확실히 순환함수를 사용하니 코드가 간결해지는 효과가 있었다.
// 자연수(음수 포함)을 인수로 받아 4의 제곱수인지 여부를 boolean으로 반환
class Solution {
public boolean isPowerOfFour(int num) {
if(num<1) return false; // 음수 포함 1 이하 자연수는 4의 제곱수가 될 수 없다
if(num>=4 && num%4==0) return isPowerOfFour(num/4); // 4로 나누어 떨어지는데 4보다 큰 수는 다시 4로 나누기, 그렇지 않으면 이미 4의 제곱수가 아님
else return num==1; // 4의 제곱수 4로 나누기 반복하면 마지막엔 반드시 4/4=1이 되므로 num==1의 결과가 곧 4의 제곱수인지 여부가 됨
}
}
댓글남기기