본문 바로가기
Algorithm/BAEKJOON

[백준/Python] 2566번 - 최대값

by code_pie 2024. 1. 2.

 

 

문제

https://www.acmicpc.net/problem/2566

 

9×9 격자판에 쓰여진 81개의 자연수 또는 0이 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 행 몇 열에 위치한 수인지 구하는 프로그램을 작성하시오.

 

입력

 

첫째 줄부터 아홉 번째 줄까지 한 줄에 아홉 개씩 수가 주어진다. 주어지는 수는 100보다 작은 자연수 또는 0이다.

 

출력

 

첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다.

 

풀이

 

입력을 받아 이를 2차원 리스트의 형태로 저장하고 for문을 돌려 리스트의 값들을 비교해 최댓값을 찾으면 된다.

가장 작은 수가 0 임을 알고 있으므로, 초기 max값을 0으로 초기화하고 리스트의 값과 비교해 리스트의 값이 크다면 리스트의 값을 max에 저장하고 리스트의 index를 x와 y에 저장한다.

 

 

Code

 
n_lst=[]
for i in range(9):
    n_lst.append(list(map(int,input().split())))
max=0
x=0
y=0
for j in range(9):
    for k in range(9):
        if max < n_lst[j][k]:
            max=n_lst[j][k]
            x,y=j,k
print(max)
print(x+1, y+1)

 


 
 
반응형