알고리즘&자료구조/Algorithm

[백준 2566] 최댓값

백엔드 개발자 - 젤리곰 2024. 2. 5. 21:25
728x90

1. 문제

 

2566번: 최댓값

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

www.acmicpc.net

 

⭐문제요약

# 9 x 9 로 2차원 배열의 크기가 정해져있다.

# 최댓값을 구하고 몇행, 몇열인지 출력하라.

 

2. 풀이

"""최댓값"""
# 9x9 그리드 입력 받기
twoarr = []
for _ in range(9):
    row = list(map(int, input().split()))
    twoarr.append(row)

# 최대값 및 위치 찾기
maxVal = -1  # 그리드에 있는 숫자가 모두 양수라고 가정
maxX, maxY = 0, 0

for i in range(9):
    for j in range(9):
        if twoarr[i][j] > maxVal:
            maxVal = twoarr[i][j]
            maxX, maxY = i + 1, j + 1  # 1부터 시작하는 위치로 조정

print(maxVal)
print(maxX, maxY)

 

- 9x9로 크기가 정해진 2차원 배열이라 난이도가 한결 낮아졌다.

twoarr라는 2차원 배열 껍데기를 만들어주고 input값을 리스트로 저장하여 twoarr에 한줄씩 append해줬다.

 

- 격자판에는 100보다 작은 자연수 또는 0이 들어가기때문에 -1로 초기화해준다. (격자판 어느것보다도 작은 수)

 

- 이중 for문으로 2차원 배열을 순회한다.

 

728x90