프로그래밍/백준 문제풀이26 백준 10815: 숫자 카드(JAVA) ArrayList의 contains는 타임아웃 발생 *ArrayList의 contians는 시간복잡도: O(n) 대신 HashSet을 사용하였다. *HashSet의 contains는 시간복잡도: O(1) 시간을 단축시키기 위해 StringBuilder를 이용하여 출력하였다. import java.util.*; public class Main { public static void main(String[] args) { int N, M; Scanner sc = new Scanner(System.in); N = sc.nextInt(); HashSet arr = new HashSet(); StringBuilder sb = new StringBuilder(); for(int i=0; i 2022. 7. 17. 백준 10989번: 수 정렬하기 3(JAVA) / 계수 정렬(counting sort) https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 시간을 단축하기 위해 Scanner 대신 BufferedReader 사용하였고 출력도 StringBuilder를 사용하였다. 정렬로 계수정렬(counting sort)를 사용하였다 *Counting sort 시간복잡도: O(n) ->10000보다 작거나 같은 자연수라고 했기 때문에 계수정렬을 사용할 수 있다. 수를 입력받을 때마다 해당 숫자의 cnt값 1 증가시키면 1부터 10000까지 중복을 포함한 정렬을 할 수 .. 2022. 7. 16. 이전 1 2 3 4 5 다음