CODES/백준 | Solved.ac

[ 백준 파이썬 문제풀이 ] 단계별로 풀어보기 / 7-2 2차원 배열 최댓값 #2566

Heram06 2025. 6. 23. 20:03
반응형

[ 백준 파이썬 문제풀이 ] 단계별로 풀어보기 / 7-2 2차원 배열  최댓값 #2566

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

 

 


 

문제 📢

 

<그림 1>과 같이 9×9 격자판에 쓰여진 81개의 자연수 또는 0이 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 행 몇 열에 위치한 수인지 구하는 프로그램을 작성하시오.

예를 들어, 다음과 같이 81개의 수가 주어지면

 

이들 중 최댓값은 90이고, 이 값은 5행 7열에 위치한다.

 

입력 

출력

첫째 줄부터 아홉 번째 줄까지 한 줄에 아홉 개씩 수가 주어진다.
주어지는 수는 100보다 작은 자연수 또는 0이다.
첫째 줄에 최댓값을 출력하고,
둘째 줄에 최댓값이 위치한 행 번호와 열 번호를
빈칸을 사이에 두고 차례로 출력한다.
최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다.

 

 

예제 입출력 🎨

 

 

나의 알고리즘  🎻

 

이 문제는 각 행과 열을 확인하는 코드를 이용하여 최댓값이 위치한 행과 열을 찾는 코드를 짜야할 것 같다.

  • 최댓값, 최대값의 위치를 저장할 변수를 생성 후 0으로 설정
  • 9개의 행 입력받기
  • 해당 행의 아홉개의 열들을 일일이 확인
  • 만약 기존의 max_count 변수의 값보다 크거나 같으면 최댓값을 갱신하고, 해당 행과 열을 저장
  • 출력

 

내가 적은 답안 💡

 

import sys

max_count = 0
max_row = 0
max_column = 0

for i in range(9):
    row = list(map(int, sys.stdin.readline().split()))
    for l in range(9):
        if row[l] >= max_count:
            max_count = row[l]
            max_row = int(l) + 1
            max_column = int(i) + 1

print(max_count)
print(f'{max_column} {max_row}')

 

 

 


 

이 블로그는 개발자를 꿈꾸는 사람이 열심히 공부하며 적어가는 공간입니다.

제 답안과 풀이가 다를 수 있지만, 정확한 정보를 위해 여러 번 검토하며 적겠습니다!

반응형