본문 바로가기

카테고리 없음

[백준 2566번] 최댓값

이 문제의 경우 2차원 배열을 만드는 문제이다.

 

우선, input으로 들어오는 2차원 배열을 만들어주어야 하는데,

map(), list(), input().split(), [ ____ for i in range() ] 의 함수들을 활용해서 input을 만들어주는 것을 알아야한다.

 

처음에 아래처럼 2차원 배열을 만드려했지만, N is not defined 라는 문구로 error가 났다. N을 초기에 N = [ ]로 list 선언해줘도 error가 나온다. 따라서 N이라는 list 안에서 반복문을 수행하도록 만들어야한다.

 

for i in range(9):

    N = list(map(int, input().split()))

 

--> N = [ list(map(int, input().split())) for _ in range(9) ]

 

그리고 해당 문제에는 제시되어 있지 않아서 fail이 계속 났는데, 

max 값이 여러개일 경우 맨 나중에 찾은 max 값에 해당되는 row, column 값을 답으로 출력해야 정답으로 인식한다.

(문제에 표기 되어있었어야 한다고 생각한다.)

 

max = 0
row = 0
coulmn = 0

N = [list(map(int, input().split())) for _ in range(0, 9)]

for i in range(0, 9):
    for j in range(0, 9):
        if N[i][j] >= max:
            max = N[i][j]
            row = i+1
            coulmn = j+1
        else:
            pass

print(max)
print(row,coulmn,sep=' ',end='')

[ 수정 전/후 ]