Java
-
[Java 실습] 버블 정렬(Bubble Sort)Java/Java 실습 2022. 7. 18. 13:29
버블 정렬은 이웃한 두 요소의 대소 관계를 비교하고 필요에 따라 교환을 반복하는 알고리즘입니다. 다음은 버블 정렬을 내림차순으로 정렬한 코드입니다. public class BubbleSort { static void swap(int[] a, int i1, int i2) { int n = a[i1]; a[i1] = a[i2]; a[i2] = n; } static void bubbleSort(int [] a) { for(int i=0; i
-
[Java] 제어문(선택 제어문 / 반복 제어문), 제어 키워드Java/Java 개념 2022. 7. 15. 23:49
제어문이란? 선택 제어문(if, switch) 반복 제어문(for, while, do-while) 제어 키워드(break, continue) 1. 제어문이란? 제어문과 제어 키워드를 이용하면, 프로그램의 실행 순서를 다양한 방법으로 제어할 수 있게 된다. 한마디로, 제어문은 '프로그램 처리 순서를 바꾸는 것' 이라고 생각하면 된다. 제어문은 2개의 선택 제어문(if, switch), 3개의 반복 제어문(for, while, do-while), 2개의 제어키워드(break, continue)가 있다. 2. 선택 제어문(if) 2-1. if 단일 구문 if(조건식) {// 조건식은 boolean 타입 실행 구문;// 조건식이 true일 때 실행 } 조건식이 true일 때, 실행 구문을 실행하고, false이..
-
[Java 실습] BFS(너비 우선 탐색) 미로 탐색(큐)Java/Java 실습 2022. 7. 15. 21:24
map : 길 = 0, 갈수 없는 길(벽) = 1 visited 배열을 통해 들렸던 길은 다시 들리지 않는다. (boolean으로 판단) 현재 인덱스를 저장하는 Index 클래스를 매개변수로 받아 Way() 메서드를 통해 상하좌우를 검색하고 그 값을 offer한다. offer한 인덱스를 poll하고, 위치를 변경한다. 언제까지? 탈출 (4,4) 할때까지. import java.util.LinkedList; import java.util.Queue; public class BfsQueue { // 인덱스를 저장해주는 큐 static Queue qQueue = new LinkedList(); // 들린 곳을 체크해줌 static boolean [][] visited = new boolean[5][5]; //..
-
[Java 실습] DFS(깊이 우선 탐색) 미로 탐색(스택)Java/Java 실습 2022. 7. 15. 21:03
map : 길 = 0, 갈수 없는 길(벽) = 1 visited 배열을 통해 들렸던 길은 다시 들리지 않는다. (boolean으로 판단) 현재 인덱스를 저장하는 Index 클래스를 매개변수로 받아 Way() 메서드를 통해 상하좌우를 검색하고 그 값을 push한다. push한 인덱스를 pop하고, 위치를 변경한다. 언제까지? 탈출 (4,4) 할때까지. import java.util.Stack; public class DfsStack { // 인덱스를 저장해주는 스택 static Stack sStack = new Stack(); // 들린 곳을 체크해줌 static boolean [][] visited = new boolean[5][5]; // 길=0, 벽=1 static int[][] map = { {0,..
-
[Java 실습] 스택 후위 표기 계산기Java/Java 실습 2022. 7. 14. 22:43
중위 표기 계산기를 후위 표기 계산기로 바꾸기 1. Stack 직접 구현 2. Collection Stack 사용 1. 스택 직접 구현 input => 113 + 11 - (32 - (9 - 2 + 6)) output => 113 + 11 - (32 - (9 - 2 + 6)) = 105 StringUtils.inNumeric( )은 매개변수가 숫자인지 아닌지 boolean값으로 리턴해줍니다. StringUtils는 https://commons.apache.org/proper/commons-lang/download_lang.cgi 에서 다운 받아 사용 가능합니다. package Stack1; // 거의 대부분의 문자열 처리를 수행 // 파라미터 값으로 null을 주더라도 절대 NullPointExcepti..
-
[Java 실습] 이진 검색 재귀 함수 응용Java/Java 실습 2022. 7. 13. 17:41
이진 검색에 재귀 함수를 응용해서 사용해 보았다. package Day16; import java.util.Scanner; public class BinSearch { static int binSearch(int[] a, int start, int end, int key) { int middle = (start + end) / 2; while (start key) { return binSearch(a, start, middle - 1, key); } } return -1; } public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); System.out.print..
-
[Java 실습] Baby-ginJava/Java 실습 2022. 7. 12. 09:52
긴가민가 하며 배우며 만든 코드입니다. 열심히 공부해야겠습니다.. + 수정했습니다. package BabyGin; import java.util.ArrayList; import java.util.Collections; import java.util.Scanner; public class BabyGin { public static void main(String[] args) { ArrayList aList = new ArrayList(); Scanner sc = new Scanner(System.in); System.out.print("6자리 숫자를 입력하세요."); String [] str = sc.next().split(""); for(int i=0; i
-
[Java 실습] 성적 관리 프로그램Java/Java 실습 2022. 7. 12. 09:32
성적 관리 프로그램은 입력, 출력, 검색, 삭제, 종료가 가능하다. 입력 : 전체 입력 출력 : 전체 출력, 개인 출력 검색 : 특정 점수 이상의 총점을 받은 학생 출력 삭제 : 삭제하고 싶은 학생의 이름이 있다면 삭제 종료 : 시스템 종료 Student.java package Example; // 성적 관리 프로그램 // 학생 이름, 국, 영, 수, 총점, 평균 class Student{ String name; int kor; int eng; int mat; int total; float avg; public Student() {}; public Student(String name, int kor, int eng, int mat) { this.name = name; this.kor = kor; this..