알고리즘

    [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

    [Java] 백준 1712: 손익분기점

    더보기 import java.util.*; public class no1712 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int A = sc.nextInt(); int B = sc.nextInt(); int C = sc.nextInt(); if(C

    [Java] 백준 1316: 그룹 단어 체커

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

    [Java] 백준 2941: 크로아티아 알파벳

    [Java] 백준 2941: 크로아티아 알파벳

    우선적으로 필요한 것은 단어를 입력받고 알파벳 갯수를 카운팅하는 변수이다. Scanner sc = new Scanner(System.in); String word = sc.nextLine(); int cnt = 0; 이후 단어의 길이만큼 반복문을 돌며 알파벳을 검사한다. 가장 큰 틀로 아래와 같은 구조를 만들 수 있다. 첫번째 반복할 때는 charAt(0)이 작동하여 첫번째 글자를 검사하게 된다. for(int i=0 ; i

    [Java] 백준 5622: 다이얼

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