# 알고리즘 스터디 시간 : 매주 일요일 1시 - 3시 (19.01~) 장소 : 신촌 위지안 진행 : 매주 "백준 알고리즘" 과제 풀어온거 같이 해설 # 다같이 문제 풀어보기(어려웠던거) 이론 정리는 필요시에 진행 깃허브에 코드정리 자바 스터디 시간 : 매주 목요일 11시 반, 세시간정도(18.10~) 장소 : 부평 셀스터디, 부평 스타벅스 교재 : 자바의 정석 진행 : 매주 한 챕터씩 돌아가면서 발표준비75 다같이 연습문제 풀어보기 깃허브에 코드 정리 프로젝트 : 미니 게임 ( 테트리스, 슈팅게임 ) 구현 (JAVA) 하루 세시간씩 온라인 스터디( 코딩하기 ) JavaScript > Node.js > HTML & CSS 스터디 시간 : 매주 일요일 11시 - 1시 (18.01~) 장소 : 신촌 위지안 ..
알고리즘
버블정렬 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘 인접한 2개의 레코드를 비교하여 크기가 순서대로 되어 있지 않으면 서로 교환한다. T(n) = O(n^2) java import java.util.Arrays; public class bubble_sort { public static void main(String[] args) { int[] list = { 1, 3, 4, 9, 7, 6 }; // 버블정렬 System.out.println("정렬할 배열 : " + Arrays.toString(list)); for (int i = 0; i < list.length; i++) { boolean changed = false; // 자리바꿈이 발생 하는 지를 체크한다. for (int j = 0; j ..
선택정렬 단순하지만 비효율 적인 방법 : 삽입정렬, 선택정렬, 버블정렬등 (n-1)+(n-2) + ... + 1= n(n-1)/2 = O(n^2) 주의 값이 같은 레코드가 있는 경우에 상대적인 위치가 변경될 수 있기 때문에 안정성을 만족하지 않는다. java import java.util.Arrays; public class SelectionSortEx { public static void main(String[] args) { int[] list = { 1, 3, 4, 9, 7, 6 }; int least = 0; int temp = 0; System.out.println("정렬할 배열 : " + Arrays.toString(list)); for (int i = 0; i < list.length - 1..
알고리즘 쉽게 하는 법은 대체 뭘까? 그것은 "바로 규칙 찾기" 이다. 간단하게 "작은 그림 그리기" 라고 생각하면 된다. 구체적으로 바뀌는 부분 vs 바뀌지 않는 부분 으로 나눠서 생각하면 되는데, 예를 들어 별찍기 알고리즘을 짜야 할 때 * ** *** 바뀌지 않는 부분은 별을 찍는다는 것 바뀌는 부분은 찍는 별의 개수 가 1개씩 증가하는것 import java.util.ArrayList; public class Factory { private static addInterface addInterfaceS = new AddCalculator(); //정적캐시 private static addInterface addInterfaceD = null; private static ArrayList cached..