Baekjoon/단계별로 풀어보기

[백준][7단계 2차원 배열] 2566번 /최댓값 (파이썬/Python)

junslee 2025. 3. 27. 13:06

1. 문제 설명

2. 풀이 과정

격자판grid에 9번 for _ in range(9) 반복해서 각 행을 리스트로 list(map(int,input().split())) 입력받는다.

최댓값 max_value에 grid의 열 row를 반복해서 row의 최댓값 max(row)들 중 각 열의 최댓값 max(max(row) for row in grid)을 계산해서 저장한다.

최댓값 위치 max_position에 grid의 격자값을 enumerate()로 인덱스와 숫자를 반복한 후에 max_value 값이 row에 있을 때의 row를 찾는다.

해당 열의 인덱스 i에 1을 더한 값이 x좌표, 해당 열 row의 인덱스 index(max_value)에 1을 더한 값이 y좌표이다.

최댓값 max_value를 출력하고, 최댓값 좌표 max_position을 언패킹하여 출력한다.

3. 코드

grid = [list(map(int,input().split())) for _ in range(9)]
max_value = max(max(row) for row in grid)
max_position = [(i+1, row.index(max_value) + 1) for i, row in enumerate(grid) if max_value in row][0]
print(max_value)
print(*max_position)