BOJ [N 번째 큰 수]

jj·2022년 4월 27일
0

알고리즘-문제

목록 보기
12/35

문제

문제보기

n by n 표에 n^2개의 수가 채워져있다. 규칙은 각 column이 오름차순으로 되어있다는 것이다.



아이디어


각 column에 진행중인 index를 가르키는 pointer 를 둔다.

그 열에서 가장 큰 수가 나오면 index를 -1 해주고 이 과정을 n 번 반복한다.



틀린 이유


수의 범위가 -10억인데 처음의 max_num 을 0으로 초기화해서

음수의 표가 주어지면 해결이 안됐다.



코드

n = int(input())
arr = []

for _ in range(n):
    arr.append(list(map(int,input().split())))

pointer = [n-1]*n

for _ in range(n):
    max_num = -10000000000
    max_index = 0
    for i in range(n):
        if pointer[i] == -1:
          continue
        if arr[pointer[i]][i] > max_num:
            max_index = i
            max_num = arr[pointer[i]][i]
    pointer[max_index] -= 1

print(max_num)
profile
끊임없이 공부하는 개발자

0개의 댓글