import java.util.*;
class Main {
public String solution(int n,int[] arr) {
String answer = "U";
HashMap<Integer, Integer> map = new HashMap<>();
for(int x : arr) {
if(map.containsKey(x)) {
return "D";
}
else map.put(x, map.getOrDefault(map.get(x), 0)+1);
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int[] arr = new int[n];
for(int i=0; i<n; i++) arr[i] = kb.nextInt();
System.out.println(T.solution(n, arr));
}
}
++ 정렬 사용
import java.util.*;
class Main {
public String solution(int n,int[] arr) {
String answer = "U";
Arrays.sort(arr);
for(int i=0; i<n-1;i++) {
if(arr[i]==arr[i-1]) return "D";
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int[] arr = new int[n];
for(int i=0; i<n; i++) arr[i] = kb.nextInt();
System.out.println(T.solution(n, arr));
}
}
1번 풀이:
해쉬에 x값을 하나씩 추가해서 만약 이미 존재하는 key라면 "D"를 return 해줬다.
2번 풀이:
배열을 sort시켜 인접한 값중 같은값이 존재하면 "D"를 return 해줬다.
중복을 확인할때, Hashmap을 활용하는 방법을 기억!!