목록전체 글 (89)
자르비 왕국
1. 문제 직면 `리액트를 다루는 기술` 책으로 리액트 공부를 하다가 코드를 똑같이 작성했음에도 프로젝트가 오작동 하는 것을 발견했다. 게시글을 수정하기 위해, write state에 기존 게시글 정보를 담고, 게시글 작성 페이지로 이동하도록 구현하였다. 하지만 게시글 정보가 계속 초기화 되었다. 리덕스 개발 툴로 확인해 보니, 게시글 수정 페이지가 unmount 될 때 write state를 초기화하는 함수가 호출되는 것이었다. 언마운트는 일어나지 않았음에도 호출되는게 이상하여 디버깅 해보니, mount -> unmount -> mount가 되고 있었다. 해당 문제에 관하여 구글링 하니 React 18버전 이후에는 컴포넌트가 두 번 호출된다는 것이었다. 2. 문제 원인 구버전에는 컴포넌트가 오직 한 번..
1. 문제 유형 : 위상정렬 2. 시간복잡도 : O(VE) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { public static class Node { int idx; Node link; public Node(int idx, Node link) { super(); this.idx = idx; this.link = link; } } public static void main(String[] args..
1. 문제 유형 : 위상정렬 2. 시간복잡도 : O(V+E*V) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); int T..
1. 문제유형 : DP 2. 시간복잡도 : O(2^N) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static int N, S, M, V[], answer = -1; public static boolean cache[][]; public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); StringTo..
Key와 Value - Key : Value를 찾을 지표, 중복 불가 - Value : 저장되는 데이터 값, 중복 가능 클래스 - HashMap - TreeMap : 정렬 상태 유지, 정렬 대상은 Key HashMap public Set keySet() : 모든 Key를 담아서 반환, 해당 Key를 활용하여 value접근 가능 TreeMap 해당 클래스는 정렬 상태를 유지하므로, TreeSet처럼 Comparable를 구현하던지, Comparator를 TreeSet의 생성자에 전달한다. (Set 컬렉션 클래스 포스팅 참고)
Set 인터페이스를 구현하는 컬렉션 클래스 - 저장 순서가 유지되지 않는다. - 데이터의 중복 저장을 허용하지 않는다. 클래스 - HashSet - TreeSet 해쉬 알고리즘 (HashSet에 해당) - 탐색 1단계 : Object클래스에 정의된 hashCode 메소드의 반환 값을 기반으로 부류 결정 - 탐색 2단계 : 선택된 부류 내에서 equals 메소드를 호출하여 동등 비교 Object 클래스의 hashCode의 equals는 저장하고 있는 값을 기준으로 인스턴스의 동등 여부를 판단하지 않는다. 즉, 값을 기준으로 동등 여부를 판단하고 싶다면 equals를 오버라이딩 해야 한다. TreeSet 트리 자료구조를 기반으로 인스턴스 저장 - 정렬된 상태가 유지 - Comparable 인터페이스를 구현하..