Today
Total
04-10 08:51
관리 메뉴

홍우진의 개발 일기장

[백준] 18511번: 큰 수 구성하기 / 파이썬 본문

알고리즘/백준

[백준] 18511번: 큰 수 구성하기 / 파이썬

홍우진 2025. 3. 11. 20:42
728x90
반응형

문제 링크


https://www.acmicpc.net/problem/18511

풀이 코드


from itertools import product

n,_ = map(int,input().split())  
arr = list(map(str,input().split()))
l = len(str(n))

while 1:
    temp = list(product(arr, repeat = l)) 
    dap = []

    for i in temp:
        if int("".join(i)) <= n:
            dap.append(int("".join(i)))

    if len(dap) >= 1:
        print(max(dap))
        break
    else : 
        l -= 1

코드 해석


https://velog.io/@leese1016/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B0%9C%EB%85%90-%EC%A4%91%EB%B3%B5-%EC%88%9C%EC%97%B4-product%EB%B0%98%EB%B3%B5-%EA%B0%80%EB%8A%A5%ED%95%9C-%EA%B0%9D%EC%B2%B4-repeat1

 

[파이썬 개념] 중복 순열 - product(반복 가능한 객체, repeat=1)

product(반복 가능한 객체, repeat=1) 결과중복을 허용해서 '+', '-', '\*', '/' 중에서 세 개 뽑는 경우를 구함

velog.io

 product를 사용하여 모든 경우의 수를 뽑고 비교한다.

 

 

체감 난이도: ★★★★

product를 처음 봤다.

728x90
반응형
Comments