본문 바로가기

전체 글

(11)
[리트코드 94, 144, 145] 이진 트리 순회(binary tree traversal) 3개의 문제지만 모두 이진 트리 순회에 대한 문제이다. 이전 포스트에서 설명했던 트리 자료구조의 중위 순회(inorder), 전위 순회(preorder), 후위 순회(postorder) 에 대한 개념만 알고 있으면 풀기 쉬운 간단한 문제이다. 간단하게 다시 설명해보자면 중위 순회는 나 자신이 가운데 즉, left -> root -> right 순으로 노드를 출력한다. 전위 순회는 나 자신을 시작으로 즉, root -> left -> right 순으로 출력된다.(root 를 가장 처음으로 방문하게 된다.) 마지막으로 후위 순회는 전위 순회랑 반대로 root를 가장 마지막으로 방문하게 되며, left -> right -> root 순으로 출력한다. Example 이진 트리인 root 가 주어졌을때, 순회 방..
[리트코드 46] DFS를 활용한 순열 문제풀이 잠시 고등학교 수학시간에 배운 내용을 되새겨보면.. 순열(permutation)이란? 서로 다른 n개의 원소에서 r개를 중복없이 순서에 상관있게 선택하는 혹은 나열하는 것. 순열의 수 수식은 nPr = n!/(n-r)! 으로 여기서 팩토리얼(!)이란 서로 다른 n개를 나열하는 경의 수를 의미한다. 기호로는 n! 으로 쓰고 계산은 n부터 1씩 줄여나가면서 1이 될때까지의 모든 수의 곱이다. (n! = n(n-1)(n-2)(n-3)...1) 46. 순열(Permutation) Example 주어진 서로 다른 정수의 배열로 가능한 모든 수열을 출력하라. (순서는 상관 없음) Constraints - 1 < nums.length
[Elasticsearch] Docker를 이용한 엘라스틱서치 설치 Docker 가 설치되어있지 않다면 우선 도커 홈페이지를 통해 다운로드를 받고 설치하면 된다. Elasticsearch 에 대해 간단히 얘기하자면 검색 엔진으로 java 로 개발되어 jvm 위에서 돌아간다. 그래서 도커가 아닌 로컬에 설치하는 경우 jre 또는 필요에 의해 jdk를 먼저 설치해줘야한다. 도커말고도 MacOS를 사용하는 사용자라면 Homebrew를 통해서도 쉽게 설치가 가능하다. 여기선 손쉽게 설치, 삭제가 가능한 Docekr를 이용해서 Elasitcsearch를 설치하는 방법만 다룰 예정이다. 1. 이미지 다운로드 `docker pull` 명령어로 쉽게 도커 레지스트리에서 엘라스틱서치 이미지를 다운로드 가능하다. 나중에 Spring Data Elasticsearch 4.3 를 통해 실습도..