
https://school.programmers.co.kr/learn/courses/30/lessons/42746
def solution(numbers):
# 1. 모든 수를 문자열로 변환
numbers = list(map(str, numbers))
# 2. x+y와 y+x를 비교하여 정렬
numbers.sort(key=lambda x: (x * 4)[:4], reverse=True)
# 3. 정렬된 numbers를 이어붙인 뒤 반환
answer = ''.join(numbers)
# 0이 여러개일 경우, "000" 대신 "0"을 반환하도록 예외처리
if answer[0] == '0':
return '0'
else:
return answer
https://school.programmers.co.kr/learn/courses/30/lessons/42747
def solution(citations):
citations.sort()
answer = 0
for i in range(len(citations)):
mod = len(citations)-i
if citations[i] >= mod:
return mod
def solution(citations):
citations.sort()
answer = 0
for i in range(len(citations)):
mod = len(citations)-i
if citations[i] >= mod:
answer += 1
return answer
Try1은 마지막 테스트 케이스 하나를 통과하지 못했는데, 반례는 다음과 같다.
만약 논문이 [9, 9, 9, 9, 9]로 주어졌다면 try1의 답은 3이 된다.
하지만 이런 경우 5를 리턴해야한다.
이를 수정한 부분이 try2 코드다.