동까의 코딩

[99클럽] 32일차 TIL 본문

문제 풀이/99클럽

[99클럽] 32일차 TIL

동까의 코딩 2024. 6. 21. 18:38
반응형

https://leetcode.com/problems/reordered-power-of-2/description/

 

import itertools

class Solution:
    def reorderedPowerOf2(self, n: int) -> bool:
        cnt = 0
        answer = False
        n = str(n)
        num_list = []
        for i in n:
            num_list.append(i)
        nCr = itertools.permutations(num_list, len(num_list))
        num_list = []
        nCr = list(nCr)
        for i in range(len(nCr)):
            st = ''
            for num, j in enumerate(nCr[i]):
                if num == 0 and j == '0':
                    break
                st += j
            if st == '':
                continue
            st = int(st)
            num_list.append(st)

        num_list = set(num_list)
        print(num_list)
        max_num = max(num_list)
        while 2 ** cnt <= max_num:
            if (2 ** cnt) in num_list:
                answer = True
                return answer
            cnt += 1
        return answer

 

값을 입력받으면 자리수를 교환하여 바꿀 수 있는 수를 뽑아주어 2의 제곱수가 되는지를 확인하는 문제입니다. 첫번째 자리에 0이 오는 것을 제외하고 값을 추춘한 뒤 2의 제곱값을 max값보다 적은 값까지 구해주고 True, False를 반환하는 코드를 작성하였습니다.

반응형

'문제 풀이 > 99클럽' 카테고리의 다른 글

[99클럽] 34일차 TIL  (0) 2024.06.23
[99클럽] 33일차 TIL  (0) 2024.06.22
[99클럽] 31일차 TIL  (0) 2024.06.20
[99클럽] 30일차 TIL  (0) 2024.06.19
[99클럽] 29일차 TIL  (0) 2024.06.18