목록JAVA (8)
Day 개발 기록
다음과 같은 1~ 15까지 이진트리를 구현하고 전위 순회 , 중위 순회 , 후위 순회를 구현하였다. 탐색 설명 1) 전위순회 자기 자신 처리 왼쪽 자식 방문 오른쪽 자식 방문 2) 중위순회 왼쪽 자식 방문 자기 자신 처리 오른쪽 자식 방문 3) 후위순회 왼쪽 자식 방문 오른쪽 자식 방문 자기 자신 처리 코드 import java.util.*; class BiTree { int data; BiTree left, right; public BiTree(int data) { this.data = data; } } public class Main { public static void main(String[] args) { int num = 15; BiTree nodes[] = new BiTree[num+1]; f..
내가 보려고 막 정리한 예제... import java.util.*; class Student implements Comparable { int age; public Student(int age) { this.age = age; } @Override public int compareTo(Student s) { return this.age - s.age; } } public class Main { public static void main(String[] args) { Map map = new HashMap(); map.put("B",200); map.put("A",300); map.put("C",100); //1. Map B 200 , A 300 , C 100 으로 정의 //출력방법 3가지 //1. 엔트..
배열이 { 100 , 200 , 300 , 400 } 이라 할 때, 2개를 뽑는 경우의 예시이다. import java.util.*; public class Main { public static void main(String[] args) { int[] nums = {100,200,300,400}; //1-1 조합 - visit사용 boolean[] visit1 = new boolean[nums.length]; combination1(nums, 4, 2, 0, visit1); //1-2 조합 int[] ans1 = new int[2]; combination2(nums, ans1 , 4,2,0,0); //2 중복 조합 int[] ans2 = new int[2]; recombination(nums, ans2..
1. Annotation Processors > Enable Annotation Processors 체크 2. build.gradle 에 다음 lombok 관련 모듈 추가 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' testCompile 'org.projectlombok:lombok' testImplementation 'org.projectlombok:lombok'
더블 형식 같은 자유분방하게 다 나오는 소숫점말고 원하는 개수 만큼 소숫점 자리를 표현하려 한다. 우선 double 형식으로 숫자 저장해주고 print 할때 String.format으로 바꿔서 C에서와 비슷한 형태로 변경하면 된다. String.format( " %.원하는 소숫점 자리수f" , 더블형식숫자 ) 예를 들어서 소숫점 3자리까지 표현하고 싶다면 double num = 60.0; System.out.println( String.format("%.3f", num) ); 만약, 나누기 한 결과값을 표현하고 싶다면 (2.0)/3 같이 나눈 값 중에 하나를 실수로 표현해주고 출력해야한다. double n = (2.0)/3; System.out.println( String.format("%.3f",n) ..
그래프란? 개체 (object)들 간의 이진관계를 표현한 것이다. 그래프 요소 G = (V,E) V : 노드 정점라고 부른다. E : 노드 쌍을 연결하는 에지(edge) 혹은 링크(link) 앞으로 밑의 설명에서 n = |V| , m = |E| 라고 하자 그래프 종류 1. 무방향 그래프 (Undirected Graph) 에지간의 방향이 존재하지 않는 그래프 이다. ** 보편적으로 두개 노드 간의 에지는 1개만 있다고 보고, 자기 자신으로 가는 셀프 에지도 없다라고 본다. 2. 방향 그래프 (Directed Graph) 에지 (u,v) 는 u로 부터 v로의 방향을 가진다. 방향이 다르면 서로 다른 그래프가 된다. ** self edge가 존재할 수 있다. 3. 가중치 그래프 ( Weighted ) 에지 마..
객체를 여러개 만들 필요가 없을 때 만드는 방법이다. 자바에서는 class 외부에는 인스턴스 정의를 할 수가 없는데, 이때 싱글톤 패턴을 이용해 작성한다. 예시로 company 클래스와 외부 클래스인 companyTest 클래스를 살펴보면 다음과 같다. //1 Company public class Company { private static Company instance = new Company(); //constructure 하나 하고 private으로 만든다. private Company(){} //외부에서 사용할땐 이걸로 만들어 쓴다. // static 으로 생성해야 외부에서 쓸 수 있다. public static Company getInstance() { if(instance == null) in..
쉽게 말해서 Static은 Class의 멤버이고 non-static 은 Object의 멤버이다. 1.메인 메서드는 항상 Static으로 표시되어야 하는 것이다. 2.static 메서드에서 같은 클래스의 non- static 멤버를 엑세스 할 수 없다. public class Test { static int s = 0; int t = 0; public static void print1() { System.out.print(s); } public void print2() { // 이건 가능 System.out.print(s); System.out.print(t); } public static void main(String \[\]args) { //가능 s = 100; //불가능 t = 100; print2(..