알고리즘/백준(backjoon)

[Baekjoon]백준 NO.2562 최댓값 / Java(자바)

씨네 2021. 7. 10. 17:55
728x90

 

난이도가 브론즈2인 문제입니다.

9개의 자연수가 주어지고(입력받고) 입력 받은 숫자중 가장 높은수를 출력하고 해당 숫자가 몇번째 숫자인지까지 뽑아내는 문제네요!

 

 

import java.util.Arrays;
import java.util.Scanner;

public class Main {
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int[] num = new int [9];
		int[] tmp = new int [9];
		
		for(int i = 0; i < num.length; i++) {
			num[i] = sc.nextInt();
			tmp[i] = num[i];
		}
		Arrays.sort(num);
		System.out.println(num[8]);
		for(int i=0; i < num.length; i++) {
			if(tmp[i] == num[8]) {
				System.out.println(i+1);
			}
		}

	}
}

제가 문제를 푼 로직은 9칸짜리 배열을 만들어 놓고 하나는 가장 높은수를 뽑아내기 위한 배열 하나는 index를 뽑아내기 위한 배열로 만들었네요!

 

정렬된 배열에서 가장 뒤의 인덱스의 숫자가 가장 큰 숫자일거고 index를 뽑아내기 위한 배열 tmp에서 해당 숫자의 인덱스를 뽑아내주면 됩니다!

728x90