반응형
Notice
Recent Posts
Link
«   2025/02   »
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
Archives
Today
Total
관리 메뉴

500error

[Cos Pro 1급, Python] 5차 3번 : 배열의 사전순 정렬 본문

알고리즘/파이썬

[Cos Pro 1급, Python] 5차 3번 : 배열의 사전순 정렬

Internal Server Error 2024. 3. 1. 23:29
반응형

문제

서로 다른 정수 n개가 담긴 배열이 있습니다. 이 배열을 앞 (n+1)/2개 원소는 증가하고 뒤 (n+1)/2개 원소는 감소하도록 정렬하려고 합니다. 이때, 조건을 만족하는 배열이 여럿인 경우 사전순으로 가장 먼저 나오는 배열을 답으로 합니다. 예를 들어, 주어진 배열이 [7, 3, 4, 1, 2, 5, 6]라면 정렬한 이후에는 [1, 2, 3, 7, 6, 5, 4]가 됩니다.
정수 배열 numbers와 numbers의 길이 numbers_len가 매개변수로 주어질 때, 문제의 조건에 맞게 정렬하여 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 한 줄만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

코드

def solution(numbers):
	answer = []
	numbers.sort()
	mid = (len(numbers) - 1) // 2
	numbers[mid], numbers[len(numbers)-1] = numbers[len(numbers)-1], numbers[mid]
	left = mid + 1
	right = len(numbers) - 2
	while left <= right:
		numbers[left], numbers[right] = numbers[right], numbers[left]
		left = left + 1
		right = right - 1
	answer = numbers
	return answer
    
    
    
    
    

numbers = [7, 3, 4, 1, 2, 5, 6]
ret = solution(numbers)

print("solution 함수의 반환 값은", ret, "입니다.")

 

 

 

반응형
Comments