Algorithm/Problems

[백준/파이썬] 2566번 최댓값

공부좀하시졍 2022. 11. 7. 11:21

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

 

2566번: 최댓값

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

www.acmicpc.net

nums = []

for i in range(9):
  num = list(map(int, input().split()))
  nums.append(num)

max_num = 0
tmp_i = 0
tmp_j = 0

for i in range(9):
  for j in range(9):
    if nums[i][j] > max_num:
      max_num = nums[i][j]
      tmp_i = i
      tmp_j = j

print(max_num)
print(tmp_i + 1, tmp_j + 1)

간단하게 풀면 이중 for문을 이용해서 풀 수 있지만 더 짧은 코드도 가능하다.

 

max_num = 0

for i in range(9):
  # 행렬로 만들지 않고 한 행씩 max 비교 가능
  nums = list(map(int, input().split()))
  if(max(nums) > max_num):
    max_num = max(nums)
    x = i + 1 # 행
    y = nums.index(max_num) + 1 # 열

print(max_num)
print(x, y)