728x90
반응형
문제
보통의 정렬은 오름차순이나 내림차순으로 이루어지지만, 이번에는 특별한 정렬을 하려고 한다.
N개의 정수가 주어지면 가장 큰 수, 가장 작은 수, 2번째 큰 수, 2번째 작은 수 식으로 큰 수와 작은 수를 번갈아 정렬하는 방법이다.
예를 들어 1부터 10까지 10개의 숫자가 주어지면 다음과 같이 정렬한다.
10 1 9 2 8 3 7 4 6 5
주어진 숫자에 대해 특별한 정렬을 한 결과를 10개까지 출력하시오.
내 코드
T = int(input())
for test_case in range(1, T+1):
N = int(input())
numbers = list(map(int,input().split()))
li = []
while len(numbers) > 0:
max_num = max(numbers)
numbers.remove(max_num)
li.append(max_num)
min_num = min(numbers)
numbers.remove(min_num)
li.append(min_num)
answer = ' '.join(map(str,li[0:10]))
print("#{} {}".format(test_case,answer))
번갈아가면서 정렬되고 있다는 것을 파악하기 (짝수, 홀수)
728x90
반응형
'Algorithm > 코딩테스트 (Python)' 카테고리의 다른 글
[SWEA 4839][파이썬 S/W 문제해결 기본]. 2일차 - 이진탐색 (0) | 2023.10.04 |
---|---|
[SWEA 4836][파이썬 S/W 문제해결 기본]. 2일차 - 색칠하기 (0) | 2023.10.04 |
[SWEA 4837][파이썬 S/W 문제해결 기본]. 2일차 - 부분집합의 합 (0) | 2023.09.25 |
[SWEA 4835][파이썬 S/W 문제해결 기본]. 1일차 - 구간합 (0) | 2023.09.22 |
[SWEA 4834][파이썬 S/W 문제해결 기본]. 1일차 - 숫자 카드 (0) | 2023.09.22 |
댓글