[문제풀이] 06-05. 중복 확인

𝒄𝒉𝒂𝒏𝒎𝒊𝒏·2023년 11월 2일
0

인프런, 자바(Java) 알고리즘 문제풀이

Sorting and Searching - 0605. 중복 확인


🗒️ 문제


🎈 나의 풀이

	private static String solution(int n, int[] arr) {
        Arrays.sort(arr);

        for(int i=0; i<arr.length-1; i++) {
            if(arr[i] == arr[i+1]) return "D";
        }

        return "U";
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] arr = new int[n];

        for(int i=0; i<n; i++) arr[i] = sc.nextInt();

        System.out.println(solution(n, arr));
    }


🖍️ 강의 풀이

  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]){
				answer="D";
				break;
			}
		}
		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));
	}


💬 짚어가기

해당 문제는 정렬을 이용하여 쉽게 해결할 수 있다. 배열을 정렬하고 반복문을 통해 배열을
순회하며 해당 요소와 그 다음 요소를 비교하여 중복된 값이 있는지 검사한다.

Map을 활용하면 정렬 없이 해결할 수 있다.

profile
𝑶𝒏𝒆 𝒅𝒂𝒚 𝒐𝒓 𝒅𝒂𝒚 𝒐𝒏𝒆.

0개의 댓글