콩부방
1568 : [기초-함수작성] 함수로 배열의 최대값 위치 리턴하기 본문
*주의사항 : 이 (함수 제출형) 문제는 함수 부분만 작성해서 제출해야 오류 없이 채점이 됩니다.
미리 작성되어있는 코드를 읽고 해석해서, 함수 부분만 작성해서 제출하면 됩니다.
작성한 함수의 테스트를 위해서는 제시된 코드를 복사해 사용하면 되고, 제출은 함수 부분만 하세요.
------
배열의 참조 범위([a, b], a번부터 ~ b번까지 범위, 폐구간 [a, b])를 입력 받아
그 범위에서 가장 큰 값이 가장 처음 나타난 위치를 출력하시오.
단, 함수형 문제이므로 함수 maxi()만 작성하여 제출하시오.
예를 들어 1 ~ n번으로 구성된 배열
5 1 4 3 2 에서
폐구간 [2, 4]에서 가장 큰 값이 가장 처음 나타난 위치를 계산하면 3(값 4)가 된다.
[함수형 문제란??]
함수형 문제는 기본적인 main() 등은 미리 작성되어 있습니다.
미리 작성되어 있는 프로그램은 다음과 같습니다.
미리 작성된 프로그램을 복사해 붙여 넣은 후 함수 부분을 설계하여 작성해 넣고,
테스트 한 후, 함수 부분만 제출하세요.
[미리 작성된 프로그램] - C/C++로 제출하는 경우에만 추가됩니다.#include <stdio.h> 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)); }※ JAVA/Python으로 제출시 위 코드가 추가되지 않습니다.
입력
첫 줄에 데이터의 개수(n)가 입력된다.
두 번째 줄에 n개의 데이터(ki)가 공백을 두고 입력된다.
세 번째 줄에 최대값 찾기를 수행할 구간의 시작 번호와 마지막 번호가 공백을 두고 입력된다.
(1 <= a <= b <= n <= 1000)
(-2147483648 <= ki <= 2147483647)
출력
입력된 데이터 배열의 [a, b] 구간에서 최대값이 처음 나타나는 위치를 출력한다.
입력 예시 예시 복사
5 1 5 4 3 2 3 5
출력 예시
3
출처 : https://codeup.kr/problem.php?id=1568
[기초-함수작성] 함수로 배열의 최대값 위치 리턴하기
*주의사항 : 이 (함수 제출형) 문제는 함수 부분만 작성해서 제출해야 오류 없이 채점이 됩니다. 미리 작성되어있는 코드를 읽고 해석해서, 함수 부분만 작성해서 제출하면 됩니다. 작성한 함수
codeup.kr
import java.util.Scanner;
public class Main {
static long n, a, b;
static long[] d = new long[1010];
static long subsetsum(long a,long b) {
long max = -2147483648;
for (int i = (int)a; i <= b; i++) {
max = max < d[i]? d[i] : max;
}
for (int i = (int)a; i <= b; i++) {
if(max == d[i])return i;
}
return 0;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextLong();
for (int i = 1; i <= n; i++) {
d[i]=sc.nextLong();
}
a=sc.nextLong();
b=sc.nextLong();
System.out.println(subsetsum(a,b));
}
}
'알고리즘 공부 > CodeUp' 카테고리의 다른 글
1570 : [기초-함수작성] 함수로 Lower Bound 위치 리턴하기 (0) | 2021.10.05 |
---|---|
1569 : [기초-함수작성] 함수로 배열의 최대값 위치 리턴하기 2 (0) | 2021.10.04 |
1567 : [기초-함수작성] 함수로 배열의 부분합 리턴하기 (0) | 2021.10.04 |
1566 : [기초-함수작성] 함수로 거듭제곱 리턴하기 (0) | 2021.10.03 |
1565 : [기초-함수작성] 함수로 최소공배수 리턴하기 (0) | 2021.10.03 |