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++;
}
}
}
}
결과
'코딩 문제 > 매일프로그래밍' 카테고리의 다른 글
매일프로그래밍 - 원소 이동 (0) | 2021.02.01 |
---|---|
매일프로그래밍 - 배열 안 해당문자 여부 확인 (0) | 2021.02.01 |
매일프로그래밍 - 정수 배열 정렬 알고리즘 구현 (0) | 2021.02.01 |
매일프로그래밍 - 입력받은 배열 원소 순환 확인 (0) | 2021.01.27 |
매일프로그래밍 - 입력받은 배열 소용돌이 모양 출력 (0) | 2021.01.27 |