4843 - 특별한 정렬

박재현·2022년 2월 15일
0

알고리즘 부수기

목록 보기
22/43
post-thumbnail

문제 설명

링크

문제 풀이

  1. 오름차순 정렬한다.
  2. 5만큼 반복하며 큰 수 한번, 작은 수 한번 result 배열에 넣는다.

내 풀이에서는 홀수일 때 마지막 수를 추가해주는 로직을 넣었는데 문제 조건이 10개만 출력하는 거라 무의미했다. 하지만 보통 내가 푼 방법의 조건이 일반적일꺼라 생각한다.

코드

T = int(input())
for tc in range(1, T+1):
    N = int(input())
    arr = list(map(int, input().split()))
    arr.sort()

    result = []

    for i in range(N // 2):
        result.append(arr[N-i-1])
        result.append(arr[i])
    if N % 2 != 0:
        result.append(arr[N // 2 + 1])
    print(f'#{tc} ', end="")
    for j in range(10):
        print(result[j], end=' ')
    print()
profile
공동의 성장을 추구하는 개발자

0개의 댓글