백준 알고리즘

백준 2566 파이썬

KokoaJelly 2023. 1. 31. 15:03

https://www.acmicpc.net/problem/2566

 

2566번: 최댓값

첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다.

www.acmicpc.net

 

 

 

max_num = 0
max_location = [1, 1]

for i in range(1, 10):
    blank_list = list(map(int, input().split()))
    if max_num < max(blank_list):
        max_num = max(blank_list)
        max_location[0] = i
        max_location[1] = blank_list.index(max(blank_list)) + 1

print(max_num)
print(*max_location)

언듯보면 쉬운 문제지만, 함정이 있다. 

 

만약 이 문제를 

 

max_num = 0
row = 0
col = 0

for i in range(1, 10):
    blank_list = list(map(int, input().split()))
    if max_num < max(blank_list):
        max_num = max(blank_list)
        row = i
        col = blank_list.index(max(blank_list)) + 1

print(max_num)
print(row, col)

이런식으로 풀게 된다면, 틀린 답이 나온다. 

그 이유는 모든 원소가 0인 행렬을 본다면, 0, 0 0 이라는 출력이 나오기 때문이다.

따라서, 이 부분을 주의해야 한다.