코딩테스트

    [JAVA] 하노이 탑 알고리즘

    package Algorithm; import java.util.Scanner; public class Hanoi { static void move(int no, int x, int y) { if (no > 1) move(no - 1, x , 6-x-y); System.out.println("원반"+no+"를 " +x+"기둥에서"+y+"기둥으로 옮김"); if (no > 1) move(no - 1, 6 - x - y , y); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("원반의 개수 :"); move(sc.nextInt(), 1, 3); } /* n개의 원반을 1기둥에서 ..

    [JAVA] 쉘정렬

    package Algorithm; import java.util.Arrays; public class Shell{ static void shellSort(int[] arr){ int n = arr.length; // 8배열이라고 가정 for(int i = n/2; i > 0; i /= 2){ //배열 크기의 반을 구하고 반복마다 나누기 2씩 반복 for(int k = i; k = 0 && arr[j] > tmp; j -= ..

    [JAVA] 단순 삽입정렬

    import java.util.Arrays; public class InsertionSort { static int[] arr = {9,4,2,6,1,3,5,8,7,0}; public static void main(String[] args) { int n = arr.length; for(int i = 1; i 0 && arr[j - 1] > tmp; j--) arr[j] = arr[j - 1]; arr[j] = tmp; } System.out.println(Arrays.toString(arr)); } }

    [JAVA] 단순 선택정렬

    public class SelectionSort { static void swap(int []a, int b, int c) { int temp = a[b]; a[b] = a[c]; a[c] = temp; } static int[] arr = {9,4,2,6,1,3,5,8,7,0}; public static void main(String[] args) { for (int i = 0; i < arr.length-1; i++) { int min = i; for (int j = i + 1; j < arr.length; j++) { if(arr[j] < arr[min]) min = j; } swap(arr, min, i); } System.out.println(Arrays.toString(arr)); } }

    [JAVA] Stack를 사용한 깊이우선 탐색 (DFS) Stack제네릭 사용 X

    [JAVA] Stack를 사용한 깊이우선 탐색 (DFS) Stack제네릭 사용 X

    Queue와 동일한 미로로 작성하였습니다. 빨간선 1번, 핑크선 2번, 초록선 3번 순으로 깊이 너비탐색을 통해 탈출구를 찾습니다. 동일하게 stack 크기도 5로 설정하였고 깊이 package Day3; import java.util.ArrayList; import java.util.Arrays; public class MroStack { static int[][] map = {{0,0,0,-1,0,0,0,-1}, {0,-1,0,-1,0,-1,0,-1}, {0,-1,0,-1,-1,-1,0,-1}, {0,0,0,0,0,0,0,-1}, {-1,-1,-1,0,-1,-1,-1,-1}, {0,0,-1,0,-1,0,0,-1}, {-1,0,0,0,-1,0,-1,-1}, {-1,-1,-1,0,0,0,0,0}}; st..

    [JAVA] 원형 Queue를 사용한 너비우선탐색(BFS) Queue제네릭 사용 X (미로탈출)

    [JAVA] 원형 Queue를 사용한 너비우선탐색(BFS) Queue제네릭 사용 X (미로탈출)

    미로는 정해진 값으로 사용했으며 원형 queue를 구현하여 queue 크기를 5로 설정하고 구현했습니다. package Day3; import java.util.ArrayList; import java.util.Arrays; public class MiroQueue { static int[][] map = {{0,0,0,-1,0,0,0,-1}, {0,-1,0,-1,0,-1,0,-1}, {0,-1,0,-1,-1,-1,0,-1}, {0,0,0,0,0,0,0,-1}, {-1,-1,-1,0,-1,-1,-1,-1}, {0,0,-1,0,-1,0,0,-1}, {-1,0,0,0,-1,0,-1,-1}, {-1,-1,-1,0,0,0,0,0}}; static String[] queue = new String [4]; sta..

    [JAVA] 후위연산자를 이용한 + - 연산 (제네릭 Stack 사용)

    import org.apache.commons.lang3.StringUtils; 함수를 사용하려면 apache 홈페이지에서 api를 다운받으셔야합니다. StringUtils.inNumeric( ) -> 매개변수가 숫자인지 아닌지 boolean값으로 리턴을 해줍니다. 다운로드 링크 https://commons.apache.org/proper/commons-lang/download_lang.cgi 다운 받으신 후 사용하시는 IDE에서 외부라이브러리 추가 하시고 사용하시면 됩니다. package Day2; import org.apache.commons.lang3.StringUtils; import java.util.*; public class PostFix { static String str = "113 + ..

    [JAVA] 후위연산자를 이용한 + - 연산 ( 제네릭 X)

    import org.apache.commons.lang3.StringUtils; 함수를 사용하려면 apache 홈페이지에서 api를 다운받으셔야합니다. StringUtils.inNumeric( ) -> 매개변수가 숫자인지 아닌지 boolean값으로 리턴을 해줍니다. 다운로드 링크 https://commons.apache.org/proper/commons-lang/download_lang.cgi 다운 받으신 후 사용하시는 IDE에서 외부라이브러리 추가 하시고 사용하시면 됩니다. package Day2; import org.apache.commons.lang3.StringUtils; public class InStackCalc { static String str = "113 + 11 - (32 - (9 - ..