๐ŸŒท๐ŸŒผ๋ชจ์—ฌ๋ด์š” ๊ฐœ๋ฐœ์˜์ˆฒ๐ŸŒท๐ŸŒผ

[JAVA/์ฝ”๋”ฉํ…Œ์ŠคํŠธ] ๊ณตํ†ต์›์†Œ ๊ตฌํ•˜๊ธฐ ๋ณธ๋ฌธ

๊ฐœ๋ฐœ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด JAVA

[JAVA/์ฝ”๋”ฉํ…Œ์ŠคํŠธ] ๊ณตํ†ต์›์†Œ ๊ตฌํ•˜๊ธฐ

์š”์ผ์ด 2021. 5. 12. 02:15
๋ฐ˜์‘ํ˜•

 

๋ฌธ์ œ

1. ๋‚ด๊ฐ€ ํ‘ผ ๋ฐฉ์‹

import java.util.*;
import java.io.*;

public class Main {
	
	public ArrayList<Integer> solution(int n, int m, int[] array1, int[] array2) {
		
		ArrayList<Integer> result = new ArrayList<>();
		
		int p1 = 0;
		int p2 = 0;
		
		Arrays.sort(array1);
		Arrays.sort(array2);
		
		while(p1<n && p2<m) {
			
			if(p1>=n) {
				p1=n-1;
			}
			
			if(p2>=m) {
				p2=m-1;
			}
			
			if(array1[p1] == array2[p2]) {
				result.add(array1[p1]);
				p1++;
				p2++;
			}else if(array1[p1] < array2[p2]){
				p1++;
			}else if(array1[p1] > array2[p2]) {
				p2++;
			}
			
		}
		
		return result;
	}

	public static void main(String args[]) {
        Main main = new Main();
		Scanner in= new Scanner(System.in);
        int num = in.nextInt();
        int[] array1 = new int[num];
        for(int i=0; i<num; i++) {
        	array1[i] = in.nextInt();
        }
        int num2 = in.nextInt();
        int[] array2 = new int[num2];
        for(int i=0; i<num2; i++) {
        	array2[i] = in.nextInt();
        }
       
        for(int x : main.solution(num, num2, array1, array2)) {
			System.out.print(x + " ");
        }
        
    }

}
Comments