import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String[] nk = in.nextLine().split(" ");
int n = Integer.parseInt(nk[0]);
int k = Integer.parseInt(nk[1]);
int count = 0;
String[] arrN = in.nextLine().split(" ");
// n개가 아닐때 정수를 다시 받음
while(arrN.length != n){
arrN = in.nextLine().split(" ");
}
//HashSet의 contains는 시간복잡도가 O(1)이기에 사용
Set<Integer> arr = new HashSet<Integer>();
// int형으로 변환하여 리스트에 넣음
for(String s : arrN){
arr.add(Integer.parseInt(s));
}
for(int i=0 ; i<arr.size() ; i++){
// i번째 숫자와 차가 k인 정수를 조회
if(arr.contains(Integer.parseInt(arrN[i])-k)){
System.out.println(Integer.parseInt(arrN[i]));
count++;
}
}
System.out.println(count);
}
}
'Quiz > etc.' 카테고리의 다른 글
양쪽의 합이 같은 경우 찾기 (0) | 2017.03.22 |
---|