Writer: Harim Kang
다양한 정렬을 사용하여 해결하는 알고리즘 문제들입니다.
해당 포스팅에서 푸는 문제는 아래의 3문제 입니다.
해당 문제들은 프로그래머스의 코딩테스트 연습 > 코딩테스트 고득점 kit > 정렬에 모여있는 3문제 입니다.
https://programmers.co.kr/learn/courses/30/parts/12198
https://programmers.co.kr/learn/courses/30/lessons/42748
def solution(array, commands):
def com(arr, a, b, c):
arr = arr[a-1:b]
arr.sort()
return arr[c-1]
answer = []
for x, y, z in commands:
answer.append(com(array, x, y, z))
return answer
https://programmers.co.kr/learn/courses/30/lessons/42746
추가 테스트 케이스
test_case = [[0, 0, 0, 0, 0], [40, 403], [40, 405],
[40, 404], [12, 121], [2, 22, 223],
[21, 212], [41, 415], [2, 22], [70, 0, 0, 0],
[0, 0, 0, 1000], [12, 1213], [0, 0, 1000, 0],
[0, 1000, 0, 0], [121, 12], []]
for tc in test_case:
print(solution(tc))
"""
0
40403
40540
40440
12121
223222
21221
41541
222
70000
1000000
121312
1000000
1000000
12121
"""
def solution(numbers):
answer = ''
so = []
for o in numbers:
o = str(o)
sz = 12//len(o)
so.append([o*sz, o])
so.sort(reverse=True)
for _, s in so:
answer += s
if answer and int(answer) == 0:
answer = '0'
return answer
https://programmers.co.kr/learn/courses/30/lessons/42747
추가 테스트 케이스
tc = [[3, 0, 6, 1, 5], [0, 6, 6, 4, 5], [5, 5, 5, 5]]
for c in tc:
print(solution(c))
# 3, 4, 4가 나와야 정상입니다.
def solution(citations):
answer = 0
for h in range(max(citations) + 1):
x = [1 for _ in citations if _ >= h]
if answer <= h <= len(x):
answer = h
return answer
[파이썬] 코딩테스트 문제 풀이 - 힙 문제 (프로그래머스) (0) | 2020.04.05 |
---|---|
[파이썬] 코딩테스트 문제 풀이 - 스택/큐 문제 (프로그래머스) (0) | 2020.03.27 |
[파이썬] 코딩테스트 문제 풀이 - 해쉬 문제 (프로그래머스) (0) | 2020.03.22 |
파이썬으로 구현하는 자료구조 요약 정리 - 해쉬 테이블(Hash Table) (1) | 2020.01.30 |
파이썬으로 구현하는 자료구조 요약 정리 - 배열(Array), 큐(Queue), Stack, Linked List (1) | 2020.01.22 |