Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- KPT회고
- 파이썬
- 개발자부트캠프추천
- 빈 충돌
- 단기개발자코스
- 프로그래머스 이중우선순위큐
- 디자인 패턴
- JavaScript
- 인프콘 2024
- Python
- 프로그래머스
- 99클럽
- 항해99
- 취업리부트코스
- 커스텀 헤더
- 구글 OAuth login
- 1주일회고
- jwt
- 빈 조회 2개 이상
- DesignPattern
- Spring multimodule
- 전략패턴 #StrategyPattern #디자인패턴
- jwttoken
- infcon 2024
- @FeignClient
- 코딩테스트 준비
- 개발자 취업
- 디자인패턴
- TiL
- spring batch 5.0
Archives
- Today
- Total
m1ndy5's coding blog
99클럽 코테 스터디 7일차 TIL 정렬 :프로그래머스 LV.2 가장 큰 수 with Python 본문
알고리즘 with python/알고리즘 스터디
99클럽 코테 스터디 7일차 TIL 정렬 :프로그래머스 LV.2 가장 큰 수 with Python
정민됴 2024. 5. 26. 14:56https://school.programmers.co.kr/learn/courses/30/lessons/42746
문제는 위 쪽에서!
이 문제도 옛날에 풀어봤던 문제라서 어렵지 않게 풀었다.
def solution(numbers):
answer = ''
numbers = [str(num) for num in numbers]
numbers = [[num * (12//len(num)), len(num)] for num in numbers]
numbers.sort()
for i in range(len(numbers)-1, -1, -1):
answer += numbers[i][0][:numbers[i][1]]
return '0' if int(answer)==0 else answer
일단 풀이과정은 이렇다.
1. 숫자를 모두 문자열로 바꿔준다.
2. 문자열의 길이는 1, 10, 100, 1000 이렇게 총 4자리까지 나올 수 있기 때문에 최소 공배수인 12만큼 반복해준다. 이 때 어디까지가 원래 길이인지 알 수 있도록 원래 길이도 저장한다. ex)[[111111111111, 1], [121212121212, 2], [123123123123, 3], [100010001000, 4]]
3. 문자열을 정렬한다. 2차원 배열일 때 sort()를 하면 첫번째 기준 오름차순으로 정렬된다.
ex) [[100010001000, 4], [111111111111, 1], [121212121212, 2], [123123123123,3]]
4. 거꾸로 for문을 돌리면서 원래 길이만큼만 잘라서 answer에 붙여주면 된다.
ex) 1231211000
5. 모두 0 값이 들어왔을 때 '000' = '0' 이므로 예외처리를 해준다.
'알고리즘 with python > 알고리즘 스터디' 카테고리의 다른 글
99클럽 코테 스터디 9일차 TIL 완전탐색 : 프로그래머스 LV.2 카펫 with Python (0) | 2024.05.28 |
---|---|
99클럽 코테 스터디 8일차 TIL 정렬 : 프로그래머스 LV.2 H-Index with Python (0) | 2024.05.27 |
99클럽 코테 스터디 5일차 TIL 힙 :프로그래머스 LV.2 더 맵게 with Python (0) | 2024.05.24 |
99클럽 코테 스터디 4일차 TIL 스택/큐 :프로그래머스 LV.2 올바른 괄호 with Python (0) | 2024.05.23 |
99클럽 코테 스터디 3일차 TIL 스택/큐 : 프로그래머스 LV.2 기능개발 with Python (0) | 2024.05.22 |