나의 개발일지

[백준] 19496 큰 수 만들기 [Python, 파이썬] 본문

백준

[백준] 19496 큰 수 만들기 [Python, 파이썬]

YoonJuHan 2023. 12. 24. 13:25
  • 문제 : https://www.acmicpc.net/problem/16496
  • 🔑 숫자를 모두 10자리로 맞추기
    • 3   = 3333333333
    • 30 = 3030303030
    • 34 = 3434343434
    • 5   = 5555555555
    • 9   = 9999999999
    • 정렬하면 9999999999, 5555555555, 3434343434, 3333333333, 3030303030
    • 이렇게 10자리로 맞추고 내림차순 정렬을 한 후 원래 숫자들을 출력하면 끝 ✨

 

n = int(input())
nums = input().split()

sort_list = []

for n in nums:
    new_num = n * 10    # 문자열 10번 반복해서 최소 10자리 이상으로 만들기
    sort_list.append((int(new_num[:10]), n))    # 10자리까지 잘라서 추가하고 원래 숫자도 추가

sort_list.sort(reverse=True)    # 내림차순 정렬

answer = ""
for i in sort_list:             # 원래 숫자들 출력
    answer += i[1]

print(int(answer))              # 정답이 0이면 0 하나를 출력하기 위해 형변환
Comments