분류 전체보기

    [Java] 백준 2751: 수 정렬하기 2

    일반적인 풀이방법 --> 시간 초과가 발생한다. 아래 더보기를 통해 이유와 코드 확인하기. 더보기 내장 함수를 사용하라고 문제에 나와있지만 Arrays.sort()를 쓰면 시간초과가 발생한다. 이유는 Arrays.sort()는 dual-pivot 퀵 정렬을 사용하기 때문이다. 이 알고리즘은 최악의 경우 시간복잡도가 O(n^2)인 알고리즘이기 때문에 시간초과가 발생할 가능성이 높아지는 것이다. import java.util.*; public class Main { 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

    [Java] 백준 25305: 커트라인

    import java.util.*; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] arr = new int[N]; int k = sc.nextInt(); for(int i=0 ; i

    [Java] 백준 2587: 대표값2

    import java.util.*; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int[] arr = new int[5]; for(int i=0 ; i

    [Java] 백준 2750: 수 정렬하기

    import java.util.*; public class Main { 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

    [Java] 정렬 알고리즘 - 버블정렬(Bubble Sort)

    [Java] 정렬 알고리즘 - 버블정렬(Bubble Sort)

    import java.util.Arrays; public class Bubble_sort { public static void main(String[] args){ int arr[] = {8,3,1,6,7,5,4,2}; for(int i=1 ; i

    [Java] 정렬 알고리즘 - 삽입정렬(Insertion Sort)

    [Java] 정렬 알고리즘 - 삽입정렬(Insertion Sort)

    public class Insertion_Sort { public static void insertion_sort(int[] a) { insertion_sort(a, a.length); } private static void insertion_sort(int[] a, int size) { for(int i = 1; i = 0 && target < a[j]) { a[j + 1] = a[j]; j--; } a[j + 1] = target; } } } 삽입정렬은 시간복잡도가 최선일 때 O(n) 최악일 때 O(n^2)을 가지는 알고리즘이다. 본인 생각을 풀어서 정리한 노트를 첨부하겠으니 참고해도 좋다.

    [Java] 정렬 알고리즘 - 선택정렬(Selection Sort)

    [Java] 정렬 알고리즘 - 선택정렬(Selection Sort)

    import java.util.Arrays; public class Main { public static void main(String[] args){ int[] arr = {7, 5, 9, 0, 3, 1, 6, 2, 4, 8}; for(int i=0; i

    [Java] 백준 2563: 색종이

    import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[][] arr = new int[100][100]; int cnt=0; for(int i=0 ; i

    [Java] 백준 2566: 최댓값

    import java.util.*; public class no2566 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[][] arr = new int[9][9]; int max = 0; int N = 0; int M = 0; for(int i=0;i

    [Java] 백준 2738: 항렬 덧셈

    import java.util.*; public class no2738 { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int M = sc.nextInt(); int[][] arr1 = new int[N][M]; int[][] arr2 = new int[N][M]; for(int i =0 ; i