SWE 4843 특별한 정렬
가장 큰 수, 가장 작은 수, 2번 째 큰 수, 2번째 작은 수 이런 식으로 번갈아서 정렬하기
아이디어
- 내림차순 정렬을 한다.
- 첫번째 수 뽑아서 새로운 리스트에 넣고
- 리스트의 [-1]을 새로운 리스트에 넣는다.
알게된 것
- Q) 리스트를 어떻게 리스트 형식 바꿔서 숫자 나열로 출력해주지 ? -> print문 쓰면 개행되니까 sys.stdout.write()? sys는 SWE에서 못쓰는데? ->
print(,end="")
코드
T = int(input())
for tc in range(1, T+1):
N = int(input())
arr = list(map(int, input().split()))
arr.sort(reverse=True)
result = []
for i in range(N//2+1):
if(len(arr) != 0):
result.append(arr[0])
del arr[0]
if(len(arr) != 0):
result.append(arr[-1])
del arr[-1]
print("#%s" % tc, end=" ")
for i in range(10):
print(result[i], end=" ")
print()
참고자료