728x90
https://www.acmicpc.net/problem/2562
문제
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.
예를 들어, 서로 다른 9개의 자연수
3, 29, 38, 12, 57, 74, 40, 85, 61
이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.
입력
첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다.
출력
첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다.
코드 정답
1번 코드
num = []
for _ in range(9):
s = int(input())
num.append(s)
print(max(num))
print(num.index(max(num)) + 1)
2번 코드
num = [int(input()) for _ in range(9)]
print(max(num))
print(num.index(max(num)) + 1)
풀이
1번 코드
1행 : 변수 num 이라는 리스트를 생성한다.
2행 : 3~4행을 9번 반복한다.
3행 : 문자를 입력받아 정수로 변환 후 변수 s 에 저장한다.
4행 : 변수 s 를 리스트 num 의 인덱스에 순차적으로 저장한다.
5행 : 반복문에서 빠져나와 num 에 저장되어 있는 가장 큰 값을 출력한다.
6행 : 리스트 num 의 가장 큰 번호의 인덱스 번호에 1 을 더한 값을 출력한다. 1을 더하는 이유는 인덱스 번호가 0부터 시작하기 때문이다.
2번 코드
1행 : 문자를 입력받아 정수로 변환한 것을 num 리스트에 저장한다. 이 코드를 9번 반복한다.
3행 : 리스트 num 에 저장되어 있는 가장 큰 값을 출력한다.
4행 : 리스트 num 의 가장 큰 번호의 인덱스 번호에 1 을 더한 값을 출력한다.
728x90
'BaekJoon > 단계별로 풀어보기' 카테고리의 다른 글
[백준] 1차원 배열 - 3052번 (Python) (0) | 2022.11.22 |
---|---|
[백준] 1차원 배열 - 5597번 (Python) (0) | 2022.11.22 |
[백준] 1차원 배열 - 10818번 (Python) (1) | 2022.11.22 |
[백준] 1차원 배열 - 10871번 (Python) (0) | 2022.11.22 |
[백준] 1차원 배열 - 10807번 (Python) (0) | 2022.11.21 |