리트코드 - 133. Clone Graph
리트코드 - 133. Clone Graph CS/코딩테스트 2023. 9. 14. 18:35

리트코드 - 133. Clone Graph 출처 - https://leetcode.com/problems/clone-graph/?envType=study-plan-v2&envId=top-interview-150 문제 설명 연결된 무방향 그래프의 노드에 대한 참조가 주어집니다. 해당 그래프의 깊은 복사본(클론)을 반환하세요. 그래프의 각 노드는 값을 가지고 있으며 (int)와 해당 노드의 이웃 노드 목록(List[Node])으로 구성되어 있습니다. class Node { public int val; public List neighbors; } 테스트 케이스 형식 간단하게, 각 노드의 값은 노드의 색인과 동일합니다.(1부터 시작합니다) 예를 들어, 값이 1인 첫 번째 노드, 값이 2인 두 번째 노드 등입니다..

스프링 MVC에서 요청을 처리하는 과정
스프링 MVC에서 요청을 처리하는 과정 TOOL/SPRING 2023. 9. 13. 06:38

스프링에서 사용되는 MVC는 일반적으로 MVC2 패턴을 사용하고 있습니다. MVC1 패턴은 하나의 뷰 파일(일반적으로 JSP)에서 컨트롤러와 뷰 역할을 모두 할 수 있습니다. 또한 비즈니스 로직이 들어갈 수도 있어 하나의 파일 내에 java 코드와 html 등이 뒤섞이게 됩니다. 이렇게 하나의 파일에 모든 것들이 들어있게 되면 유지보수와 확장성에 문제가 발생하기 때문에 MVC2 패턴을 사용하게 됩니다. MVC2 패턴은 역할을 분리하기 위하여 컨트롤러 영역과 모델 영역, 뷰 영역이 별도로 분리되어 있습니다. 먼저 클라이언트로부터 모든 uri 요청이 오면 웹서버가 요청을 받아서 이것이 정적 자원을 처리하는지 동적으로 처리하는지 판단합니다. 여기서 웹서버는 Apache HTTP Server, Nginx 등이 ..

리트코드 -  215. Kth Largest Element in an Array
리트코드 - 215. Kth Largest Element in an Array CS/코딩테스트 2023. 9. 12. 09:43

리트코드 - 215. Kth Largest Element in an Array 출처 - https://leetcode.com/problems/kth-largest-element-in-an-array/?envType=study-plan-v2&envId=top-interview-150 문제 설명 주어진 정수 배열 nums와 정수 k에 대해, 배열에서 k번째로 큰 요소를 반환합니다. 이는 정렬된 순서에서 k번째로 큰 요소를 의미하며, 중복되는 요소를 고려해야 합니다. 정렬하지 않고 이 문제를 해결할 수 있는지 확인할 수 있나요? 의사코드 우선순위 큐 생성 (역순) 큐에 nums 배열의 num값 입력 answer = 0 반복문 시작 ( k > 1 일때까지) answer = 큐의 poll 값 k-- 반복문 종료 ..

리트코드 - 212. Word Search II
리트코드 - 212. Word Search II CS/코딩테스트 2023. 9. 12. 08:58

리트코드 - 212. Word Search II 출처 - https://leetcode.com/problems/word-search-ii/?envType=study-plan-v2&envId=top-interview-150 문제 설명 주어진 m x n 문자열 보드와 문자열 목록 words가 있을 때, 보드에서 찾을 수 있는 모든 단어를 반환합니다. 각 단어는 인접한 셀의 문자로 구성되어야 하며, 인접한 셀은 가로 또는 세로로 이웃한 셀을 의미합니다. 동일한 문자 셀은 한 단어 내에서 두 번 이상 사용할 수 없습니다. 의사코드 class Node Node배열 children boolean isEndOfWord 생성자 children = new Node[26] isEndOfWord = false class T..

리트코드 - 211. Design Add and Search Words Data Structure
리트코드 - 211. Design Add and Search Words Data Structure CS/코딩테스트 2023. 9. 10. 23:58

리트코드 - 211. Design Add and Search Words Data Structure 출처 - https://leetcode.com/problems/design-add-and-search-words-data-structure/?envType=study-plan-v2&envId=top-interview-150 문제 설명 새로운 단어를 추가할 수 있고 이전에 추가된 단어 중에서 주어진 문자열과 일치하는 것이 있는 데이터 구조를 만드세요. WordDictionary" 클래스를 구현하세요: - WordDictionary() :객체를 초기화합니다. - addWord(word) : 단어를 데이터 구조에 추가할 수 있으며, 나중에 이 단어와 일치 여부를 확인할 수 있습니다. - search(word) :..

리트코드 - 208. Implement Trie (Prefix Tree)
리트코드 - 208. Implement Trie (Prefix Tree) CS/코딩테스트 2023. 9. 10. 04:33

리트코드 - 208. Implement Trie (Prefix Tree) 출처 - https://leetcode.com/problems/implement-trie-prefix-tree/?envType=study-plan-v2&envId=top-interview-150 문제 설명 트라이(Trie) 또는 접두어 트리(prefix tree)는 문자열 데이터 집합에서 키(key)를 효율적으로 저장하고 검색하는 데 사용되는 트리 구조의 데이터 구조입니다. 이 데이터 구조의 다양한 응용 사례가 있으며, 자동완성 및 맞춤법 검사기 등이 있습니다. 트라이 클래스를 구현하세요: Trie() : 트라이 객체를 초기화합니다. void insert(String word) : 문자열 word를 트라이에 삽입합니다. boolea..

image