agencies

[CodeUp] 4751 : 아시아 정보올림피아드 본문

Ⅰ. 프로그래밍

[CodeUp] 4751 : 아시아 정보올림피아드

agencies 2024. 3. 25. 15:44

 

 

 

 

문제 접근 방식

- 값을 입력하면 해당 값 만큼 반복합니다.

- 반복을 진행하면서 값1 값2 값3를 입력받습니다.

- 값에 대한 오름차순 정렬 진행

- 출력 (값1은 2개까지 동일한 것 허용)

 

num = int(input())

# 2차원 배열 생성
ary = [[0 for i in range(3)] for j in range(num)]

for i in range(num):
    a,b,c = map(int,input().split())

    # 배열에 값 삽입
    ary[i][0] = a
    ary[i][1] = b
    ary[i][2] = c


for i in range(num):
    for j in range(num):

        # 배열 정렬
        if ary[i][2] > ary[j][2]:
            tmp1 = ary[i][0]
            tmp2 = ary[i][1]
            tmp3 = ary[i][2]

            ary[i][0] = ary[j][0]
            ary[i][1] = ary[j][1]
            ary[i][2] = ary[j][2]

            ary[j][0] = tmp1
            ary[j][1] = tmp2
            ary[j][2] = tmp3
 
count = 0
x = ary[0][0]
y = ary[1][0]
z = ary[2][0]


for i in range(num):
    
    # 중복값(3개) 무시
    if(x==y==z and i>1):
        z = ary[2+i-1][0]
        continue

    # 배열 출력
    print(ary[i][0],ary[i][1])
    count += 1
    
    
    # 3개만 출력
    if count == 3:
        break