본문 바로가기
Problem Solving

[C++] [LeetCode 342] Power of Four (ops 4-5)

by tls1107 2021. 7. 17.
728x90
반응형


문제 풀기 전 생각 : 

/*
4의 power of four 인지 구하는 문제이다

반복문으로 입력받은 숫자 n이 1보다 크거나 같다면 반복한다.
반복마다 n이 1이라면 true를 리턴한다.
만약 n이 4로 나누어 떨어지지 않는다면 false를 리턴한다.
그리고 두 경우에 해당하지 않는다면 n을 4로 나누고 다음 반복으로 넘어간다.

반복이 끝났는데도 리턴되지 않았다면 false 를 리턴한다.
*/

class Solution {
public:
    bool isPowerOfFour(int n) {
        while(n >= 1){
            if(n == 1) return true; 
            if(n%4 != 0) return false;
            n = n/4;
        }
        return false;
    }
};

https://leetcode.com/problems/power-of-four/

 

Power of Four - 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


풀 때 어려웠던 점 또는 느낀점 :

어려운 점은 없었고 금방 풀수 있어서 기분이 좋았다

이런 문제로만 코딩 테스트가 가득하다면...

어림도 없지 ㅋㅋ


개선방안 :

bool isPowerOfFour(int n) {

    if(n==1)
        return true;
    
    if(n && (n%4)==0)
        return isPowerOfFour(n/4);
    
    return false;
}

위의 코드는 재귀함수를 사용해서 풀었다.

확실히 직관적이고 간단해서 좋다.

뭐 내 방법도 틀린건 아니니 

728x90
반응형

댓글