문제 풀이/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를 반환하는 코드를 작성하였습니다.
반응형