Computer Science/알고리즘

[8.11] 파이썬 조합 문제

토마토. 2021. 8. 11. 09:34
from itertools import combinations

def solution(str, k):
# k개의 수를 제거해서 만들 수 있는 숫자 찾기

# step 1. 문자열을 리스트로 바꾸기
    mylist = list(str)

# step 2. 그 중에 k개 빼고 고르기
    mylist = list(combinations(mylist, len(mylist)-k))
# step 3. 그 중에 가장 큰 수 찾기
    answer = []

    for i in mylist:
        #두 요소를 합치기
        answer.append(int(''.join(i)))
# step 4. 문자열 형태로 반환하기
    answer.sort()
    answer.reverse()

    return answer[0]
# 그 중에 가장 큰 숫자 찾기

print(solution("1924", 2))

print(solution("1231234", 3))
print(solution("4177252841", 4))
print(solution("23653", 3))