본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1568 : 함수로 배열의 배열의 최대값 위치 리턴하기

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1568 함수로 배열의 배열의 최대값 위치 리턴하기 (자바, JAVA)입니다.

Intro

Question

문제 설명

입력

첫 줄에 데이터의 개수(n)가 입력된다.
두 번째 줄에 n개의 데이터(ki)가 공백을 두고 입력된다.
세 번째 줄에 최대값 찾기를 수행할 구간의 시작 번호와 마지막 번호가 공백을 두고 입력된다.
(1 <= a <= b <= n <= 1000)
(-2147483648 <= ki <= 2147483647)

출력

입력된 데이터 배열의 [a, b] 구간에서 최대값이 처음 나타나는 위치를 출력한다.

예시

  • 입력 :
    5
    1 5 4 3 2
    3 5
  • 출력 : 3

Solution (풀이)

  • 풀이 : 메모리 11856, 시간 74
public class Answer {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int count = Integer.parseInt(br.readLine());

        StringTokenizer st1 = new StringTokenizer(br.readLine(), " ");
        StringTokenizer st2 = new StringTokenizer(br.readLine(), " ");

        int start = Integer.parseInt(st2.nextToken());
        int last = Integer.parseInt(st2.nextToken());

        int numbers[] = new int[count];

        for (int i=0; i<count; i++) {
            numbers[i] = Integer.parseInt(st1.nextToken());
        }

        int max = Integer.MIN_VALUE;
        int index = 0;
        for (int i=start; i<=last; i++) {
            if (max < numbers[i-1]) {
                max = numbers[i-1];
                index = i;
            }
        }

        System.out.println(index);

    }

}

Ranking(순위)

반응형