문제
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)