분류 전체보기

엘라스틱 서치의 기본 개념과 특징을 살펴보려한다. 그전에 루씬에 대해 간략히 살펴보자.  루씬검색 엔진에는 루씬이라는 시초가 있었다. 루씬이란, 자바로 만들어진 고성능 정보 검색 라이브러리이다.   엘라스틱 서치에서 왜 루씬을 언급하느냐하면, 엘라스틱 서치가 루씬을 기반으로 하기 때문이다. 엘라스틱 서치는 내부적으로 루씬을 통해 검색 기능을 수행한다.   다만, 루씬의 동작 과정이 추상화되어 있어 엘라스틱 서치를 사용하는 사용자 입장에서는 잘 드러나지 않는다. 하지만 루씬의 동작 원리를 이해하면 엘라스틱 서치의 이해에 더 큰 도움이 될 수 있다.  루씬에 대해서 간단히 살펴보겠다.  루씬 검색 어플리케이션 구조  위 그림처럼, 루씬의 검색 어플리케이션 구조는 검색 대상을 분석하는 과정과 검색 과정으로 나..
· JavaScript
https://level.goorm.io/exam/194982/%EC%9E%A5%EB%A7%88/quiz/1 구름LEVEL난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.level.goorm.io  위 문제를 풀려고하는데, 입력 인터페이스가 너무 생소했다.// Run by Node.jsconst readline = require('readline');(async () => { let rl = readline.createInterface({ input: process.stdin }); for await (const line of rl) { console.log('Hello Goorm! Your input is', line); rl.close(); } process.exit();..
문제https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이전형적인 BFS 문제이지만, 자바스크립트로 풀려니 구현 방식에서 고민이 많이 되었다. 우선 처음 작성한 코드를 살펴보며 자바와 다르게 고민했던 부분들을 정리해보겠다.function solution(maps) { var answer = -1; const N = maps.length; const M = maps[0].length; const dr = [-1,1,0,0]; c..
· Java/BOJ
문제https://www.acmicpc.net/problem/14658  풀이N과 M의 범위가 500,000이고, 시간 제한은 2초기 때문에 주의해야한다. 별똥별 수인 K는 100개이기 때문에, K를 이용해 문제를 해결하면 시간 초과를 피할 수 있다. K를 이중 for문에서 순회하면서, 별똥별의 위치로 x, y 조합을 만든다.그림에서 노란 점이 별똥별이라면 만들 수 있는 조합은 회색 점과 같다. 즉 탐색을 시작할 후보군 정도로 생각할 수 있다. 회색 점에서 화살표 방향인 우 하단 방향으로 L만큼 측정하며, 범위에 해당하는 star를 카운트하고 가장 최대 값을 구하면 된다.   여기서, 후보군이 아니라 별똥별의 위치에서 탐색하면 되는 것 아닌가하는 의문이 들 수 있다.하지만, 만약 이렇게 다이아몬드 형태라..
문제https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이우선 순위 큐를 구현해야하는 문제이다. 자바에서는 라이브러리를 불러오면 쉽게 해결되지만, 자바스크립트에서는 직접 구현을 해야한다. 우선 순위 큐를 어떻게 구현할 수 있을까? 우선 순위 큐는 힙 자료 구조를 알면 쉽게 접근해볼 수 있다. 힙은 완전 이진 트리의 일종이다. 특징은 부모 노도의 키 값이 자식 노드의 키 값보다 항상 큰 이진 트리이다. 여기서 힙의 종류는 두 가지가 있다.어려운 것은 아..
문제https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이스택을 구현하는 문제이다. 자바에서는 스택 라이브러리를 불러오면 끝인데, 자바스크립트는 직접 구현해야만 한다. 스택은 아래처럼 구현할 수 있다.class Stack{ constructor(){ this.arr = []; } push(item){ this.arr.push(item); } pop(){ return this.arr.pop..
동구름이
'분류 전체보기' 카테고리의 글 목록 (6 Page)