정렬을 왜 할까?
문자열 슬라이싱
정렬 함수
def solution(array, commands):
answer = []
for cmd in commands:
i, j, k = cmd #리스트 각 변수로 가져오는 방법
target = sorted(array[i - 1:j]) # 리스트 슬라이싱 진행
answer.append(target[k-1]) # k번째의 원소 리스트에 추가
return answer
def solution(numbers):
answer = ''
# 배열 내부 오름차순으로 정렬 (문자열 기준)
#result = [str(x) for x in numbers]
result = list(map(str, numbers))
# 각 요소 별 첫번째 숫자가 가장 클수록 처음에 오도록 해야함
#sorted_result = sorted(result, reverse = True)
result.sort(key=lambda x:x * 3, reverse=True) # 요소의 길이가 1000 이하 이므로 3을 곱해서 길이를 맞춰준 다음에 sorting
# 문자열로 바꾸어 리턴
#answer = ''.join(sorted_result)
return str(int(''.join(result))) # 000인 반례를 해결하지 못하기에 int로 다시 변환
def solution(citations):
# 내림차순 정렬을 해서 인용수가 가장 많은 것 부터 논문의 수 (index+1) 비교
citations.sort(reverse=True)
# 리스트를 돌면서 index 와 그에 해당하는 값을 동시에 가져오는 함수 enum
# 인덱스랑 값 둘 다 필요할 때 사용
for i,c in enumerate(citations): # c = 인용수, i+1 = 논문수
if c < i + 1:
return i
# 어차피 h 값은 논문의 총개수가 최대값
return len(citations)
# 리스트 컴프리헨션
[str(x) for x in arr]
# map
list(map(str, arr))
# enumerate
for i, x in enumerate(arr):
# 정렬 key
sort(key=...)