백준 2566번 문제
최대값
문제

풀이
1.
이 문제는 고정적으로 9x9의 인풋값을 받은 후, 이중 가장 큰 숫자와 이 좌표를 찾는 것이다.
얼핏 보면 find를 사용하면 쉬울 것 같지만, max, find, min등은 1차 배열에서만 작동을 하기 떄문에, 2중으로 for문을 사용해야
찾을 수 있다.
즉 첫번째 for문으로 가로 즉 row,
두번째 for문으로 list안의 숫자를 찾아야한다.
여기서 첫번째 max를 매개변수로 저장하면, for문이 돌때마다 max가 갱신이 될것이다. 즉
두번째 for문에서의 값이 max보다 크면 새로운 max 가 되는거다.
이때 각각의 for문에서의 i와 j는 좌표가 될 것이다.
>>
i와 j가 인덱스 인걸 까먹고 그냥 print했다 ㅋㅋㅋ.
>>
추가로 result를 arr[0][0]을 한 이유는, 0으로 입력시, 인풋이 0보다 작다면 문제가 생길 수 있다.
즉 arr[0][0]을 해서 실제 인풋 값중 하나를 가져오는 것이 안전했다고 본다.
결과
import sys
arr = [list(map(int,sys.stdin.readline().strip().split())) for _ in range(9)]
result = arr[0][0]
max_row, max_col = 0, 0
for i in range(9):
for j in range(9):
if arr[i][j] > result:
result = arr[i][j]
max_row, max_col = i, j
print(f"{result}\n{max_row+1} {max_col+1}")
이번에는 리스트 컴프리헨션을 사용해서 인풋을 받아보았다.
뭐 for문을 하나로 줄이는 것 외에는 특별한 것이 없다.
읽어보면, 줄마다 리스트를 만들어서 arr에 저장하는데 이때, 9번반복한다 라는 의미이다.
Coding_Test/백준/Bronze/2566. 최댓값 at main · K-MarkLee/Coding_Test
Coding_Test/백준/Bronze/2566. 최댓값 at main · K-MarkLee/Coding_Test
This is an auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https://github.com/BaekjoonHub/BaekjoonHub). - K-MarkLee/Coding_Test
github.com
'코딩테스트 > BaekJoon' 카테고리의 다른 글
| 백준 파이썬 코딩테스트 (색종이) (8) | 2025.08.11 |
|---|---|
| 백준 파이썬 코딩테스트 (세로읽기) (4) | 2025.08.09 |
| 백준 파이썬 코딩테스트 (행렬 덧셈) (2) | 2025.08.07 |
| 백준 파이썬 코딩테스트 (너의 평점은) (2) | 2025.08.06 |
| 백준 파이썬 코딩테스트 (그룹 단어 체커) (1) | 2025.08.05 |