max_num = -1
max_row = 0
max_col = 0
for i in range(9):
row = list(map(int, input().split()))
for j in range(9):
if row[j] > max_num:
max_num = row[j]
max_row = i+1
max_col = j+1
print(max_num)
print(max_row, max_col)
1. 최댓값 및 변수 초기
max_num = -1
문제에서 입력되는 수는 0이상 100이하의 자연수 이므로, 초기값을 -1로 설정한다.
어떤 값이 입력되더라도 첫 비교에서 반드시 갱신된다.
또한, 최댓값이 위치한 좌표를 저장하기 위해 다음 변수도 함께 초기화 한다.
max_row = 0
max_col = 0
2. 반복문(for, range),행렬 입력 받기
for i in range(9):
row = list(map(int, input().split()))
한 줄에 9개의 숫자가 입력되며, 총 9번 반복된다.
예를 들어, 입력이
3 23 85 34 17 74 25 52 65
이면 row는 다음과 같은 리스트가 된다.
[3, 23, 85, 34, 17, 74, 25, 52, 65]
3. 중첩 반복문
for j in range(9):
if row[j] > max_num:
max_num = row[j]
max_row = i+1
max_col = j+1
리스트에서 특정 위치의 값을 가져올 때 '인덱스(index)'를 사용한다.
현재 값(row[j])이 지금까지 저장된 최댓값(max_num)보다 크면, 최대값을 갱신하는 코드이다.
또한, 위치도 함께 저장된다.
파이썬의 리스트 인덱스틑 0부터 시작된다.
하지만, 문제에서는 행과 열의 번호가 1부터 시작이기 때문에, max_row와 max_col을 저장할 때 +1을 해준다.
4. 결과 출력
print(max_num)
print(max_row, max_col)
최대값 출력과, 최댓값이 위치한 행과 열을 출력해 준다.
'backjeon > Bronze' 카테고리의 다른 글
| Baekjoon(백준) - 5086 (배수와 약수) | Python (0) | 2026.03.16 |
|---|---|
| Baekjoon(백준) - 10798 (세로읽기) | Python (0) | 2026.03.14 |
| Baekjoon(백준) - 2738 (행열 덧셈) | Python (0) | 2026.03.12 |
| Baekjoon(백준) - 3003 (킹, 퀸, 룩, 비숍, 나이트, 폰) | Python (0) | 2026.03.11 |
| Baekjoon(백준) - 10998 (팰린드롬인지 확인하기) | Python (0) | 2026.03.10 |