내용으로 건너뛰기
테페리넷
사용자 도구
등록
로그인
사이트 도구
검색
도구
문서 보기
Fold/unfold all
역링크
미디어 관리자
사이트맵
등록
로그인
>
미디어 관리자
사이트맵
현재 위치:
테페리넷
»
Problem Solving
»
문제
»
프로그래머스
»
가장 큰 수
ps:problems:programmers:42746
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== 가장 큰 수 ====== ===== 풀이 ===== * BOJ의 [[ps:problems:boj:16496]]과 동일한 문제. 거기에서는 무려 플래티넘 난이도로 책정되어있다. 풀이는 그쪽 링크를 참고. * BOJ문제와 다른점은 숫자 크기가 1000 이하라는 점. 그래서 문자열을 그냥 4번 반복시켜서 만든 문자열을 비교 기준으로 잡는 처리도 별 문제 없이 처리된다. * 이렇게 할 경우, 문자열의 최대 길이는 O(m^2) 이므로 비교연산의 시간복잡도도 O(m^2). 따라서 전체 정렬에는 O(m^2nlogn)이 걸린다. ===== 코드 ===== <dkpr py> """Solution code for "Programmers 42746. 가장 큰 수". - Problem link: https://programmers.co.kr/learn/courses/30/lessons/42746 - Solution link: http://www.teferi.net/ps/problems/programmers/42746 """ def solution(numbers): nums = [str(x) for x in numbers] sorted_nums = sorted(nums, key=lambda x: x * 4, reverse=True) max_num = ''.join(x for x in sorted_nums).lstrip('0') return max_num or '0' </dkpr> {{tag>프로그래머스 ps:problems:programmers:Level_2}}
ps/problems/programmers/42746.txt
· 마지막으로 수정됨: 2021/05/28 04:49 저자
teferi
문서 도구
문서 보기
역링크
Fold/unfold all
맨 위로