🔗 https://www.acmicpc.net/problem/2566
<그림 1>과 같이 9×9 격자판에 쓰여진 81개의 자연수 또는 0이 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 행 몇 열에 위치한 수인지 구하는 프로그램을 작성하시오.
예를 들어, 다음과 같이 81개의 수가 주어지면

이들 중 최댓값은 90이고, 이 값은 5행 7열에 위치한다.
첫째 줄부터 아홉 번째 줄까지 한 줄에 아홉 개씩 수가 주어진다. 주어지는 수는 100보다 작은 자연수 또는 0이다.
첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다.
9*9칸의 숫자들 중에서, 가장 큰 숫자의 좌표를 기억해놔야한다.
각 행 별로 최댓값(maxN)을 저장할 List 와 열의 좌표를 기억할 Location 리스트를 정의한다.
List = []
Location = [0 for i in range(9)]
9행 동안, list로 행의 9개 숫자들을 입력받고, maxN을 구해 List와 Location 좌표를 저장한다
for i in range(9) :
maxN = 0
N = list(map(int, input().split()))
for j in range(9):
if N[j] >= maxN :
maxN = N[j]
Location[i]=j
List.append(maxN)
각 행의 최댓값을 저장했던 리스ㅌ List 중에서 최댓값을 저장하기 위해 maxL을 만들고, 좌표를 찾기위한 x, y 도 정의한다.
maxL = 0
x, y =0,0
for i in range(9) :
if List[i] >= maxL :
maxL = List[i]
x, y = i, Location[i]
print(maxL)
print(x+1,y+1)
저장된 좌표값은 0에서부터 시작이므로, 표에 맞추어 1부터 시작하는 행으로 만들기 위해 각각 1씩 더해준다!
List = []
Location = [0 for i in range(9)]
for i in range(9) :
maxN = 0
N = list(map(int, input().split()))
for j in range(9):
if N[j] >= maxN :
maxN = N[j]
Location[i]=j
List.append(maxN)
maxL = 0
a,b =0,0
for i in range(9) :
if List[i] >= maxL :
maxL = List[i]
a, b = i, Location[i]
print(maxL)
print(a+1,b+1)