#665함수로 배열의 최대값 위치 리턴하기
기초
⏱ 시간 제한: 5초|💾 메모리 제한: 128 MB
문제 설명
배열의 참조 범위([a, b], a번부터 ~ b번까지 범위, 폐구간 [a, b])를 입력 받아 그 범위에서 가장 큰 값이 가장 처음 나타난 위치를 출력하세요.
단, 함수형 문제이므로 함수 maxi()만 작성하여 제출하시오.
예를 들어 1 ~ n번으로 구성된 배열 5 1 4 3 2 에서 폐구간 [2, 4]에서 가장 큰 값이 가장 처음 나타난 위치를 계산하면 3(값 4)가 된다.
미리 작성된 코드
아래 코드에서 주석 위치에 함수를 작성하여 제출하세요.
C 언어
c
#include
int n, a, b, d[1010];
/* 여기에 함수를 작성하세요 */
int main()
{scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
scanf("%d%d", &a, &b);
printf("%d\n", maxi(a, b));}Python
python
# 여기에 함수를 작성하세요
n = int(input())
d = [0] + list(map(int, input().split()))
a, b = map(int, input().split())
print(maxi(d, a, b))입력 설명
첫 줄에 데이터의 개수(n)가 입력된다. 두 번째 줄에 n개의 데이터(ki)가 공백을 두고 입력된다. 세 번째 줄에 최대값 찾기를 수행할 구간의 시작 번호와 마지막 번호가 공백을 두고 입력된다. (1 <= a <= b <= n <= 1000) (-2147483648 <= ki <= 2147483647)
출력 설명
입력된 데이터 배열의 [a, b] 구간에서 최대값이 처음 나타나는 위치를 출력합니다.
예제
입력 1
5 5 1 4 3 2 2 4
출력 1
3
입력 2
5 1 2 3 4 5 1 5
출력 2
5