본문 바로가기
코딩테스트 파이썬/파이썬 프로그래머스 2단계

가장 큰 수

by 세용용용용 2023. 8. 14.

코딩테스트 연습 - 가장 큰 수 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

나의 코드

from itertools import permutations

def solution(numbers):
    answer = ''
    max_num = 0
    for i in permutations(numbers, len(numbers)):
        if int(''.join(map(str,i))) > max_num:
            max_num = int(''.join(map(str,i)))
    answer = str(max_num)
    #print(answer)
    return answer
solution([3, 30, 34, 5, 9])

타임 아웃....

순열로 풀면 될거같아서 풀어봤지만  시간초과 발생...

 

수정된 코드

def solution(numbers):
    answer = ''
    # numbers를 문자열로 바꿔줌
    numbers = list(map(str, numbers))
    # *3을 해준뒤 정렬을 하자 ,number의 원소가 1000이하 이기 떄문
    numbers = sorted(numbers, key=lambda x : x*3, reverse=True)
   
    #정렬해준 리스트를 문자열로 바꾸면 정답..
    answer = str(int(''.join(numbers)))
    #print(answer)
    return answer
solution([6,10,2])

'코딩테스트 파이썬 > 파이썬 프로그래머스 2단계' 카테고리의 다른 글

[카카오 인턴] 수식 최대화  (0) 2023.09.11
전력망을 둘로 나누기  (0) 2023.09.07
[1차] 프렌즈4블록  (0) 2023.08.11
모음 사전  (0) 2023.07.28
스킬트리  (0) 2023.07.28