프로그래밍/알고리즘

배열의 중복값을 찾고 그 중 최댓값과 인덱스 번호 출력하기!

나도 오늘부터 개발자?! 2022. 1. 9. 23:50

배열에 값을 입력 받아서 그중 중복값이 있다면 중복값을 구하고 중복값들 중 최댓값을 구한뒤 최댓값의 인덱스 번호를 구하고 싶어서 알아보는 도중 배열의 중복값을 제거하는 기능은 있어도 중복값을 구해주는 기능은 없어서 따로 구현하면서 중복값의 최댓값과 인덱스 번호를 찾아 보았습니다 ~

package Example;

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

public class dupilc {

	public static void main(String[] args) {
		Scanner can = new Scanner(System.in);
		int[] dup = new int[4];
		int[] num = new int[dup.length];
		int max = 0;
		int idx = 0;
		
		System.out.println("원하는 수 4개를 입력하세요");
		 // 배열안의 중복 값 찾는 for 문
		for(int i=0; i<dup.length; i++) {
            dup[i] = can.nextInt();  
            for(int j=0; j<i; j++) {
            	// 중복 값이 들어 있으면 idx배열에 각각 저장
                if (dup[i] == dup[j]) 
                	num[i] = dup[i];
			}
		}
		// 중복 값 배열 형태로 출력하기
		System.out.println(Arrays.toString(num));
		
		// 중복 값들 중 최댓값 찾기
		for(int i=0; i<num.length; i++) {
				if(num[i]> max) {
				  max = num[i];
				  idx = i;
			}
		}
		
		// 중복 값들 중 최댓값 출력
		System.out.println(max);
		
		// 중복 값들 중 최댓값의 인덱스 번호
		System.out.println(idx);
		
		can.close();
	}
}