https://www.acmicpc.net/problem/2566
문제분석
2차원 리스트를 입력으로 받고 그 때의 최댓값과 최댓값의 인덱스를 출력하는 문제이다. 최댓값 인덱스를 출력할 때 처첫번째 인덱스의 시작이 0이 아닌 1로 시작해야한다는 점에 주의해야한다.
코드
s = [map(int, input().split()) for _ in range(9)]
m = 0
c = 0
for i in s:
c += 1
r = 0
for j in i:
r += 1
if j>m:
m = j
a = c
b = r
print(m)
print(a, b)
문제풀이
s에 2차원 인덱스를 for문을 통해 입력받는다. 2차원 리스트의 크기가 정해져있으므로 따로 2차원 리스트의 크기를 나타내는 정수를 입력받을 필요 없이 바로 요소를 입력받으면 된다. 최댓값을 비교하기 위해 m을 0으로 초기화한다. 인덱스 번호를 세기 위해서 이중 for을 돌면서 하나씩 증가하는 변수 r과 c를 0으로 초기화 하고 for문에 1씩 증가하도록 집어넣는다. 만약 요소가 최댓값일 경우 그때의 인덱스와 값을 각각 변수 m, a, b에 저장한다. 마지막으로 저장된 변수를 두 줄에 나눠서 출력하게 되면 끝나게 된다.
'Koala - 5기 > 기초 알고리즘 스터디' 카테고리의 다른 글
<5주차> [BOJ / C++] 8611번 - 팰린드롬 숫자 (0) | 2022.02.13 |
---|---|
[BOJ/python] 10989번 수 정렬하기 3 (0) | 2022.02.13 |
[백준/C++] 2493번 탑 (1) | 2022.02.09 |
[백준/C++] 14593번 2017 아주대학교 프로그래밍 경시대회 (Large) (1) | 2022.02.07 |
[백준/python] - 13410번: 거꾸로 구구단 (0) | 2022.02.07 |