HelloMinchan
처음처럼
HelloMinchan
LinkedIn
전체 방문자
오늘
어제
  • 분류 전체보기 (306)
    • Backend (4)
      • NestJS (1)
      • Express (1)
      • Spring (2)
    • Infrastructure (1)
      • AWS (1)
    • Frontend (1)
      • Next.js (1)
    • Language & Runtime (4)
      • Java (2)
      • Node.js (2)
    • Computer Science (8)
      • Computer Networks (3)
      • Operating Systems (4)
      • OOP (1)
    • 독서 (4)
      • 데이터 중심 애플리케이션 설계 (3)
      • 객체지향의 사실과 오해 (1)
    • 회고 (4)
      • Project (2)
      • Career (2)
    • Deprecated (280)

채널

  • GitHub
  • LinkedIn

최근 글

태그

  • programmers
  • 코딩
  • 프로그래머스Python
  • 백준Python
  • 백엔드
  • Algospot
  • 백준C++
  • 개발자
  • Baekjoon Online Judge
  • back-end
  • 프로그래밍
  • front-end
  • 알고스팟
  • 알고스팟Python
  • 프로그래머스C++
  • 프로그래머스
  • Database
  • 데이터베이스
  • 백준
  • 백준Go

최근 댓글

인기 글

hELLO
HelloMinchan

처음처럼

[programmers] 프로그래머스 가장 큰 수(Python)
Deprecated

[programmers] 프로그래머스 가장 큰 수(Python)

2020. 6. 19. 05:40

(주)그렙

[programmers] 프로그래머스 가장 큰 수

(Python)

(글쓴날 : 2020.06.19)

 


* programmers, 프로그래머스 문제 Python 언어 풀이입니다.

* 소스 코드의 저작권은 글쓴이에게 있습니다.


 

 

프로그래머스 가장 큰 수


1) 문제

문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42746

 

코딩테스트 연습 - 가장 큰 수

0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 ��

programmers.co.kr


2) 풀이 과정

* 시간 복잡도 : O(n log n)

 

0 또는 양의 정수가 담긴 배열이 주어졌을 때, 배열 안의 정수들을 이어 붙여 가장 큰 수를 구하는 문제입니다.

 

저의 경우, Python을 사용했습니다.

모든 수가 0이 담겨 있을 경우를 예외 처리한 뒤, 정수들을 문자열로 치환한 후, 3을 곱해 내림차순 정렬하여 문제를 해결하였습니다.

3을 곱한 이유는 원소의 크기가 최대 1,000이므로 최소 천의 자리를 만들기 위함입니다.

예를 들어, 3과 34를 비교하면 34가 앞에 나와야 하지만 3과 30을 비교하면 3이 앞에 나와야 합니다. 이를 만족하려면 천의 자리로 만들어 3333과 3434를 비교하고 3333과 3030을 비교하면 됩니다.


3) 코드

 

* Python 코드

1
2
3
4
def solution(numbers):
    if not sum(numbers):
        return '0'
    return "".join(sorted(map(str, numbers), reverse=True, key=lambda x: x * 3))

 

저작자표시 비영리 변경금지 (새창열림)

'Deprecated' 카테고리의 다른 글

[programmers] 프로그래머스 소수 찾기 Level 2(Python)  (0) 2020.06.19
[programmers] 프로그래머스 조이스틱(Python)  (0) 2020.06.19
[programmers] 프로그래머스 더 맵게(Python)  (0) 2020.06.19
[Baekjoon Online Judge] 백준 3665번 최종 순위(Python)  (0) 2020.06.17
[Baekjoon Online Judge] 백준 1766번 문제집(Python)  (0) 2020.06.17
    'Deprecated' 카테고리의 다른 글
    • [programmers] 프로그래머스 소수 찾기 Level 2(Python)
    • [programmers] 프로그래머스 조이스틱(Python)
    • [programmers] 프로그래머스 더 맵게(Python)
    • [Baekjoon Online Judge] 백준 3665번 최종 순위(Python)
    HelloMinchan
    HelloMinchan
    Though you should not fear failure, You should do your very best to avoid it.

    티스토리툴바