본문 바로가기

코딩 문제/매일프로그래밍

매일프로그래밍 - 랜덤 정수 배열 - 중복 값 찾기

728x90

Q. 랜덤한 정수 배열이 주어지면 중복된 원소의 값을 모두 프린트 하시오.

EX.

Input : [0, 6, 3, 4, 0]

Output : 0

Input : [5, 4, 3, 2, 1, 1, 1, 1, 2]

Output : 1, 2

 

 

풀이

 

import java.util.Scanner;

 

public class javatest {

 

      public static void main(String[] args) {

 

            String[] arr; // 입력받은 문자열 콤마 구분자로 나눈 배열

            String str= ""; // 입력받는 콤마 포함 문자열

            int cnt = 0; // 중복 값 배열 인덱스

            int checknum = 0; // 존재 여부 체크

            // 키보드 입력받기

            Scanner scan = new Scanner(System.in);

            // 입력안내 Message 출력

            System.out.println("콤마를 구분으로 정수를 입력해주세요.");

            str = scan.nextLine(); // 입력값 문자열에 담기

            arr = str.split(","); // 구분자로 나눠 배열에 담기

            String[] same = new String[arr.length];

            // 중복 검사

            for(int i=0; i<arr.length; i++) {

                  for(int j=0; j<i; j++) {

                        // 중복일 때

                        if(arr[i].equals(arr[j])) {

                              // 중복 배열에 존재 여부 확인

                              for(int k=0; k<same.length; k++) {

                                    if(arr[i].equals(same[k])) {

                                          checknum = 1;

                                    }

                              }

                              if(checknum != 1) {

                                    same[cnt] = arr[i];

                                    cnt++;

                              }

                        }

                  }

                  checknum = 0;

            }

            System.out.println("입력값 중 중복된 수는 아래와 같습니다.");

            // 중복값 출력

            for(int i=0; i<same.length; i++) {

                  if(same[i] != null) {

                        if(checknum != 0) {

                              System.out.print(", ");

                        }

                        System.out.print(same[i]);

                        checknum++;

                  }

            }

      }

}

 

 

결과