새소식

⌨️ Algorithms/백준

[Python] 백준 2566번_최댓값

2023. 1. 28. 21:42

  • -

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

 

2566번: 최댓값

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

www.acmicpc.net

 

  • 9×9 격자판에 쓰여진 81개의 자연수 또는 0이 주어질 때,
  • 이들 중 최댓값을 찾고 그 최댓값이 몇 행 몇 열에 위치한 수인지 구하기

  • 이들 중 최댓값은 90이고, 이 값은 5행 7열에 위치
  • 입력
    • 첫째 줄부터 아홉 번째 줄까지 한 줄에 아홉 개씩 수가 주어짐
    • 주어지는 수는 100보다 작은 자연수 또는 0
  • 출력
    • 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력
    • 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력
  • 시간 제한: 1초
  • 메모리 제한: 128 MB

 

"""
입출력 예시)

3 23 85 34 17 74 25 52 65
10 7 39 42 88 52 14 72 63
87 42 18 78 53 45 18 84 53
34 28 64 85 12 16 75 36 55
21 77 45 35 28 75 90 76 1
25 87 65 15 28 11 37 28 74
65 27 75 41 7 89 78 64 39
47 47 70 45 23 65 3 41 44
87 13 82 38 31 12 29 29 80

            -> 90
               5 7
"""

 

 

## 의사코드 ##

# 숫자 입력
# field = [list(map(int, input().split())) for _ in range(9)]

# 격자판에서 최댓값 찾기
# -> 숫자 하나씩 확인하면서 더 큰 값이 나오면 최댓값 갱신
# for r in range(9):
#     for c in range(9):
#         if max_num < field[r][c]:

 

 

 

첫 번째 시도

 

import sys
field = [list(map(int, sys.stdin.readline().split())) for _ in range(9)]

max_n = 0
row = 0
col = 0
for r in range(9):
    for c in range(9):
        if max_n < field[r][c]:
            max_n = field[r][c]
            row = r+1
            col = c+1

print(max_n)
print(row, col)

-> 틀림

 

 

 

통과한 코드

 

import sys
field = [list(map(int, sys.stdin.readline().split())) for _ in range(9)]

max_n = 0
row = 0
col = 0
for r in range(9):
    for c in range(9):
        if max_n < field[r][c]:
            max_n = field[r][c]
            row = r
            col = c

print(max_n)
print(row+1, col+1)

-> row+1, col+1을 for문 밖에서 하는 것으로 수정

 

 

 

다른 풀이

 

max_num=0
col=0
row=0
for i in range(9):
    line = list(map(int,input().split()))
    if max(line)>max_num:
        max_num=max(line)
        col=i
        row=line.index(max_num)
print(max_num)
print(col+1,row+1)

-> 한 줄마다 max()로 최댓값을 구해서 비교

 

 

 

 

참고)

 

https://velog.io/@mmy789/Python-2%EC%B0%A8%EC%9B%90-%EB%A6%AC%EC%8A%A4%ED%8A%B8%EC%9D%98-%EC%B5%9C%EC%86%9F%EA%B0%92-%EC%B5%9C%EB%8C%93%EA%B0%92-%EA%B5%AC%ED%95%98%EA%B8%B0

 

[Python] 2차원 리스트의 최솟값, 최댓값 구하기

map과 min, max를 이용하여 2차원 리스트의 최솟값과 최댓값을 구해보자!

velog.io

 

https://velog.io/@sihoon_cho/1

 

[BOJ/백준] 2566번 최댓값 - Python/파이썬 [해설/풀이]

[BOJ/백준] 2566번 최댓값 - Python/파이썬 [해설/풀이]

velog.io

 

https://kau-algorithm.tistory.com/m/660

 

[백준/Python] 2566 최댓값

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

kau-algorithm.tistory.com

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다!