본문 바로가기
알고리즘 이전/정렬, 이분검색, 결정알고리즘

중복탐색

by hoshi03 2023. 8. 13.

선생님은 반 학생들에게 1부터 10,000,000까지의 자연수 중에서 각자가 좋아하는 숫자 하나 적어 내라고 했습니다.

만약 N명의 학생들이 적어낸 숫자 중 중복된 숫자가 존재하면 D(duplication)를 출력하고,

N명이 모두 각자 다른 숫자를 적어냈다면 U(unique)를 출력하는 프로그램을 작성하세요.0

 

Arrays.sort로 간단하게 오름차순 정렬

Arrays.sort(arr, Collections.reverseOrder()); 로 내림차순 정렬 가능

 

정렬하는 방법은 여러가지가 있다, 해쉬맵을 이용하고 get으로 원소가 2개 이상이면 중복으로 판별하는등..

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

class Main {

    public String solution(int n, int[] arr){
        String ans = "U";
        Arrays.sort(arr);
        for(int i = 0; i < n-1; i++) if(arr[i] == arr[i+1]) ans = "D";
        return ans;
    }



    public static void main(String[] args) {
            Main t = new Main();
            Scanner in = new Scanner(System.in);
            int n = in.nextInt();
            int[] arr = new int[n];
            for (int i =0; i <n; i++) arr[i]= in.nextInt();
            System.out.println(t.solution(n,arr));

    }
}

 

'알고리즘 이전 > 정렬, 이분검색, 결정알고리즘' 카테고리의 다른 글

좌표 정렬  (0) 2023.08.13
장난꾸러기  (0) 2023.08.13
LRU  (0) 2023.08.13
삽입정렬  (0) 2023.08.13
버블정렬  (0) 2023.08.12