[PYTHON] 2566 최댓값

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

     

    2566번: 최댓값

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

    www.acmicpc.net

    문제풀이

    • 하나씩 순회하면서 최댓값을 찾는다.
    • 처음 최댓값을 0으로 설정하고 최초 최댓값보다 순회한 숫자가 더 크면 순회한 숫자를 최댓값으로 업데이트한다.

    solution - 실패

    import sys
    matrix = [list(map(int, sys.stdin.readline().strip().split())) for _ in range(9)]
    max_number = 0
    row = 0
    column = 0 
    for i in range(9):
      for j in range(9):
        if max_number < matrix[i][j]:
          max_number = matrix[i][j]
          row = i+1
          column = j+1
    print(max_number)
    print(row, column)
    • row, column의 기본값을 0을 설정했기 때문에 모든 값이 0일때, 위치는 1 1이 나와야되지만 0 0이 나오기 때문에 틀렸다.

    solution - 성공

    import sys
    matrix = [list(map(int, sys.stdin.readline().strip().split())) for _ in range(9)]
    max_number = 0
    row = 1
    column = 1
    for i in range(9):
      for j in range(9):
        if max_number < matrix[i][j]:
          max_number = matrix[i][j]
          row = i+1
          column = j+1
    print(max_number)
    print(row, column)

    'algorithm > 백준' 카테고리의 다른 글

    [PYTHON] 11047 동전 0  (0) 2023.01.30
    [PYTHON] 10828 스택  (0) 2023.01.30
    [PYTHON] 8958 OX 퀴즈 - 등차 수열 / for  (0) 2023.01.26
    [PYTHON] 1546 평균  (0) 2023.01.26
    [PYTHON] 3052 나머지 - 중복을 제거하는 법 set  (0) 2023.01.26

    댓글