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
반응형