Development Artist

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

Algorithm/COS

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

JMcunst 2022. 2. 28. 16:51
728x90
반응형

문제 유형

 한줄 수정(디버깅)

난이도

 easy

Note 

 1. 문제 자체는 쉬웠다.

 2. 하지만, 함수 구현 문제로 나올 수 있으니, 로직을 알 필요가 있다.

 3. 일정 구간까지 오르고, 그 이후부터 내려오는.

 4. sort()로 오름차순 정렬. 하면 오르는 구간은 끝.

 5. 내려가는 구간은, mid 를 구한다.

 6. mid 시작을 left, 전체 수열의 끝을 right으로 두고 바꿔주기. (while문)

Code

# -*- coding: utf-8 -*-
# UTF-8 encoding when using korean

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, "입니다.")

 

※ 가끔 코드 중 print(~)가 있습니다. 정리 못한 점 죄송합니다.

728x90
반응형
Comments