728x90
반응형
문제
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.
예를 들어, 서로 다른 9개의 자연수
3, 29, 38, 12, 57, 74, 40, 85, 61
이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.
입력
첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다.
출력
첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다.
예제 입력 1 복사
3
29
38
12
57
74
40
85
61
예제 출력 1 복사
85
8
문제풀이
1. 함수를 이용한 풀이
a라는 빈 배열 생성
append함수로 입력값을 하나씩 배열에 추가
max함수로 a 배열의 최대값 찾고, index함수로 max함수로 찾은 값의 위치 찾기
index함수는 위치를 0부터 세므로 1을 더해줌.
a = []
for i in range(9):
a.append(int(input()))
print(max(a), a.index(max(a))+1)
2. 반복문을 이용한 풀이
최대값을 max, 최대값의 위치를 index로 변수 선언 후 0으로 초기화
0부터 8까지 반복문을 돌면서 숫자를 하나씩 입력받음.
입력받은 값이 max에 저장된 값보다 크면 max로 입력받은 값이 저장됨.
index에는 i+1로 최대값의 위치를 찾아 1을 더해줌(0부터 시작하므로)
max = 0
index = 0
for i in range(9):
a = int(input())
if a > max:
a = max
index = i + 1
print(max, index)
728x90
반응형
'개발자 되기 > 코딩테스트' 카테고리의 다른 글
[백준/python] 10813번 : 공바꾸기 (0) | 2023.08.07 |
---|---|
[백준/python] 10810번 (0) | 2023.07.01 |
[백준/python] 10818번 (0) | 2023.05.12 |
[백준/python] 10871번 x보다 작은 수 (0) | 2023.05.03 |
[백준/python] 10807번 개수 세기 (1) | 2023.05.03 |