Python

프로그래머스(Programmers) LEVEL2 멀리뛰기

yunajoe 2022. 10. 26. 22:50
from itertools import permutations  

def func2(*argv):
    result = []
    perm = permutations(*argv) 
    for i in list(perm):
        result.append(i)
    return list(set(result))      

def func(n):
    lis = [1]
    lis2 = [2]
    answer =0 
    for i in range(1,n):
        res = n-i
        if res % 2 == 0: # 1을 i개 만큼 쓸 수 있다는 이야기 
            result = lis*i
            counted_two = (n-sum(result)) // 2
            result2 = counted_two * lis2
            final = result2 + result
            answer += len(func2(final))
    return answer     
          
            
def solution(n):    
    answer = func(n)
    if n % 2 ==0:
        answer += 2
    else:
        answer += 1
    return answer
        
정확성: 12.5
합계: 12.5 / 100.0