기초 프로그래밍/Python
[백준] 2566번 파이썬 python(최댓값)
Chaerry._o
2023. 9. 10. 22:03
반응형
▷ 문제
<그림 1>과 같이 9×9 격자판에 쓰여진 81개의 자연수 또는 0이 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 행 몇 열에 위치한 수인지 구하는 프로그램을 작성하시오.
예를 들어, 다음과 같이 81개의 수가 주어지면
이들 중 최댓값은 90이고, 이 값은 5행 7열에 위치한다.
▷ 전체 코드
a = []
for i in range(9):
a.append(list(map(int, input().split())))
x = 0
r = 0
c = 0
for i in range(9):
for j in range(9):
if a[i][j] >= x:
x = a[i][j]
r = i+1
c = j+1
print(x)
print(r, c)
▷ 코드 분석
a = []
for i in range(9):
a.append(list(map(int, input().split())))
빈 리스트 a를 만든다.
for 문을 사용해 9번 반복하는 반복문을 만든다.
append() 함수를 사용해 괄호 안에 요소를 리스트 a에 저장한다. list() 함수를 사용해 괄호 안에 요소를 리스트에 저장한다.
map() 함수를 사용해 입력 받은 요소에 지정된 함수를 적용한다. int() 함수를 사용해 문자열을 정수형으로 변환한다.
input() 함수를 사용해 입력 받은 요소를 문자열로 변수에 저장한다. split() 함수를 사용해 입력 받은 요소를 공백을 기준으로 나눈다.
x = 0
r = 0
c = 0
변수 x, r, c에 0을 저장한다.
for i in range(9):
for j in range(9):
if a[i][j] >= x:
x = a[i][j]
r = i+1
c = j+1
for 문을 사용해 9번 반복하는 반복문을 2번 만든다.
if 문을 사용해 리스트 a의 i번째 행과 j번째 열에 위치한 요소가 x보다 크거나 같으면 아래 조건들을 시행하는 조건문을 만든다.
x는 a[i][j] 값으로 바뀐다. r은 i에 1을 더한 값으로 바뀐다. c는 j에 1을 더한 값으로 바뀐다.
print(x)
print(r, c)
print() 함수를 사용해 최대값과 그 값이 위치한 행과 열을 출력한다.
반응형