중복 확인 (정렬 사용)
문제
나의풀이
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을 활용하는 방법을 기억!!
Author And Source
이 문제에 관하여(중복 확인 (정렬 사용)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@zmdals/중복-확인-정렬-사용저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)