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/
풀 때 어려웠던 점 또는 느낀점 :
어려운 점은 없었고 금방 풀수 있어서 기분이 좋았다
이런 문제로만 코딩 테스트가 가득하다면...
어림도 없지 ㅋㅋ
개선방안 :
bool isPowerOfFour(int n) {
if(n==1)
return true;
if(n && (n%4)==0)
return isPowerOfFour(n/4);
return false;
}
위의 코드는 재귀함수를 사용해서 풀었다.
확실히 직관적이고 간단해서 좋다.
뭐 내 방법도 틀린건 아니니
728x90
반응형
'Problem Solving' 카테고리의 다른 글
[C++] [프로그래머스] 하샤드 수 (pps 4-7) (0) | 2021.07.18 |
---|---|
[C++] [leetCode 258] Add Digits (pps 4-6) (1) | 2021.07.18 |
[C++] [백준 2775] 부녀회장이 될테야 (pps 4-4) (0) | 2021.07.17 |
[C++] [백준 3052] 나머지 (pps 4-3) (0) | 2021.07.17 |
[C++] [백준 10757] 큰 수 A+B (pps 4-2) (0) | 2021.07.17 |
댓글