본문 바로가기
728x90

전체 글286

boj 1167 트리의 지름 이 문제의 경우 최대값은 트리의 리프에서 다른 리프로 이동할 수 있는 경우의 수 중에 답이 있다. 따라서 리프를 입력시에 알면 좋지만 불가능하다. 그러므로 일단 임의의 노드에서 dfs탐색을 통해 최대 값을 찾는다 그러면 이때 구해진 비용이 정답이 아니더라도 리프 하나는 찾을 수 있다. 그 후 이 리프에서 다시한번 dfs를 하면 정답을 찾을 수 있다. github.com/skullkim/algorithm/blob/master/boj/tree/1167.cpp skullkim/algorithm Contribute to skullkim/algorithm development by creating an account on GitHub. github.com 2020. 12. 16.
JVM(Java Virtual Machine), JDK(Java Developer kit), JRE(Java Runtime Environment) JVM, JDK, JRE에 대해 설명하기 전에 우선 자바 파일이 어떻게 실행되는지를 먼저 보자 .java확장자를 가진 파일로 자바 코드를 작성한다 프로그램은 바이트코드로 컴파일 되고 자바 컴파일러(javac)는 소스코드를 .class확장자를 가진 파일로 컴파일한다. 이 클래스 파일은 JVM을 활용해 어느 플랫폼에서든 실행할 수 있다 JVM은 바이트 코드를 해당 플랫폼이 실행할 수 있는 native machine code로 변환한다. JVM Java Virtual Machine은 java bytecode를 실행하는 가상 머신이다. 이 bytecode는 .java파일을 .class파일로 컴파일링했을때 .class파일안에 내장되게 된다. 즉, JVM은 자바 바이트코드가 실행되는 런타임 환경을 제공하는 명세서이.. 2020. 12. 14.
Singleton 싱클톤은 오직 하나의 인스턴스만을 생성가능하고 getter 메서드 사나로만 생성, 접근이 가능하다. 싱글톤은 인스턴스가 오직 하나만 존재해야 하므로 생성자가 외부에 드러나 있으면 안되고 클래스 변수를 사용한다. singleton은 Eager Initialization, lazy Initialization with syncronized를 사용해 구현할 수 있다. Eager Initialization 클래스 변수로 싱글톤 객체를 선언해 클래스 로더에 의해 클래스가 로딩될때 static binding으로 인스턴스가 생성되게 한다. 이때 객체가 생성되기 때문에 thread-safe하다. 싱글턴에서는 thread-safe가 반드시 보장되야 한다. Lazy Initialization with synchronized.. 2020. 12. 13.
CRUD 1. create INSERT INTO db_name.table_name(col1, col2, col3...) VALUES(col1_val, col2_val, col3_val,...) 2. read SELECT column FROM talbe_name SELECT column FROM table_name 조건 AND/OR 조건 SELECT column FROM talbe_name ORDER BY column_name ASC/DESC LIMIT: 조회할 갯수 제한 OFFSET: n-> n개의 로우 스킵 3. update SET column_name=new_val WHERE 조건 조건을 추가하지 않으면 해당 컬럼 전체가 바뀐다 4. delete DELETE FROM db_name.table_name WHER.. 2020. 11. 26.
728x90