투케이2K

168. (java/자바) 알고리즘 : 이중 for문을 사용해서 두 배열 차집합 데이터 출력하기 본문

Java

168. (java/자바) 알고리즘 : 이중 for문을 사용해서 두 배열 차집합 데이터 출력하기

투케이2K 2021. 3. 7. 10:38

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : Eclipse

개발 언어 : Java

/* =========================== */

/* =========================== */

[소스 코드]

 

package ex5;

public class MainActivity11 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("[이중 for문을 사용해서 두 배열 차집합 데이터 출력하기]");
		
		/*[설 명]
		 * 1. 이중 for문을 사용해서 [부모i값]과 [자식j값]이 서로 동일한지 확인합니다 
		 * 2. equals 사용해서 두 배열값이 같은지 확인합니다
		 * 3. contains 사용해서 return 반환하는 data 문자열에 값이 포함된지 확인합니다 (중복 저장 피하기 위함)
		 * 4. 차집합은 A배열과 B배열을 비교해서 중복되지 않은 값을 출력합니다
		 * */
		
		//배열 생성 및 데이터 저장 실시
		String one_arr[] = new String[3];
		one_arr[0] = "하나";
		one_arr[1] = "둘";
		one_arr[2] = "셋";	
		
		String two_arr[] = new String[3];
		two_arr[0] = "하나";
		two_arr[1] = "둘";
		two_arr[2] = "하나";
		
		System.out.println(getArrayMin(one_arr, two_arr)); //TODO 차집합을 구하는 메소드 호출
				
	}//메인 종료
	
	//TODO 두 배열 차집합 데이터를 확인하는 메소드
	public static String getArrayMin(String one[], String two[]) {
		String data = "차집합 : ";
		int check = 0;
		try {
			if(one.length > 0 && two.length > 0) { //두 배열 데이터가 널이 아닐 경우
				for(int i=0; i<one.length; i++) {
					
					for(int j=0; j<two.length; j++) {						
						if(one[i].equals(two[j]) == true) { //배열 값이 같은게 있을 경우
							check ++; //체크값 증가 실시																					
						}												
					}
					
					if(check <= 0) { //같은 값이 존재하지 않을 경우
						if(data.contains(one[i]) == false) { //중복해서 데이터를 저장하지 않기 위함 (포함하지 않을 경우)
							data += String.valueOf(one[i] + " ");							
						}	
					}
					
					check = 0; //값 초기화 실시
				}
			}
			else {
				System.out.println("두 배열 데이터가 포함된지 확인해 주세요 ... ");
			}
		}
		catch(Exception e) {
			e.printStackTrace();
		}
		return data;
	}

}//클래스 종료

/* =========================== */

[결과 출력]

[이중 for문을 사용해서 두 배열 차집합 데이터 출력하기]

차집합 : 셋

/* =========================== */

/* =========================== */

[요약 설명]

* 1. 이중 for문을 사용해서 [부모i값]과 [자식j값]이 서로 동일한지 확인합니다

* 2. equals 사용해서 두 배열값이 같은지 확인합니다

* 3. contains 사용해서 return 반환하는 data 문자열에 값이 포함된지 확인합니다 (중복 저장 피하기 위함)

* 4. 차집합은 A배열과 B배열을 비교해서 중복되지 않은 값을 출력합니다

/* =========================== */

반응형
Comments