티스토리 뷰

반응형

문제의 저작권은 SW Expert Academy에 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
TC = int(input())
for tc in range(1, TC+1):
    print('#%d'%tc, end = "")
    n = int(input())
    data = list(map(int, input().split()))
    for i in range(n-1):
        q = i
        if not i%2:
            for j1 in range(i+1, n):
                if data[q] < data[j1]:
                    q= j1
        else:
            for j2 in range(i+1, n):
                if data[q] > data[j2]:
                    q= j2
        data[i], data[q] = data[q], data[i]
    for k in range(10):
        print(' %d' % data[k], end="")
    print()
cs

프린터를 하나하나씩 한다는 점에서 생소할 수 있다.

간단히 풀어서 이야기 하면 문제에서 요구하는 것 처럼

짝수 홀 수 나눠서 최대값과 최소값을 하나씩 뽑아서 index 0번 부터 차례대로 자리를 바꿔주는 것이다.

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함