분류 전체보기 (79) 썸네일형 리스트형 크기가 작은 부분문자열 안녕하세요! 오랜만에 프로그래머스 문제를 풀어봤습니다. 난이도 1의 연습문제입니다! 문제풀러 GO! 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 문제 이해 t의 부분문자열 중에서 부분문자열이 나타내는 수가 p보다 작거나 같은 것이 나오는 횟수 리턴 부분 문자열과 특정 문자열과의 비교이기 때문에 첫 번째 인덱스부터 t의 길이와 p의 길이의 차이까지 순회하며 문자열을 추출하는 방식으로 문제 풀이가 가능할 것 같다. 해결 방법 첫 번째 인덱스부터 t의 길이와 p 길이의 차이까지 순회하며 substring(idx, idx + p.length) 로 문.. Elasticsearch에서 대용량 인덱스를 관리하는 방법(with. Index template) 대용량의 데이터를 저장해야하는 경우 보통 rolling 방식을 통해 index를 나누어서 관리한다. rolling은 날짜별로 혹은 설정된 용량에 도달했을 경우 ES에서 자동으로 저장된 index를 보관하고 새로운 index를 생성하여 해당 index에 데이터가 저장되도록 하는 방식이다. index가 rolling되면 특정 주기를 기준으로 새로운 index가 생성될텐데, index 생성 시에는 mapping과 settings를 설정해야한다. template을 생성하면 특정 패턴의 인덱스가 생성될 때, 지정된 설정이 자동으로 적용되도록 할 수 있다. rolling이 되면 인덱스가 여러개 생성될텐데, 이러한 모든 인덱스를 하나의 인덱스에서 사용하기 위해서는 template을 생성할 때, alias(별칭)를 설.. 검색엔진을 사용하는 이유 검색엔진 사용 이유 정보화 시대에서 우리는 방대한 데이터를 보유하고 있습니다. 하지만 아무리 데이터가 많아도 나에게 맞는 데이터를 얻기 위해서는 '검색'이라는 기능이 필요합니다. 그럼 DB에 데이터를 모두 저장한 후 LIKE 검색을 진행하면 될까요? 그렇게 검색을 진행한다면 대용량 데이터의 경우 검색 속도가 매~우 느려질 것입니다. 그래서 보통 검색을 하기 위해서는 따로 '색인'이라는 과정을 거치게 됩니다. '색인'이란 데이터가 검색될 수 있는 구조로 변경하기 위해서 원본 문서를 검색어 토큰들로 변환하여 저장하는 일련의 과정입니다. 색인이 완료되면 '인덱스'라는 색인 과정을 마친 결과물이 생성되며, 해당 인덱스에 검색을 진행하게 됩니다. Elasticsearch " Elasticsearch는 시간이 갈수.. C++ 반복문 간단 정리! 학교에서 C++ 반복문을 배운 후 정리한 내용입니다. 반복문 C++은 코드를 반복할 때 사용하는 구문으로 while 반복문, for 반복문, do-while 반복문을 제공합니다. 반복문을 구성할 때 반복 횟수를 확인하고 적절한 시점에 종료할 수 있게 카운터(counter)를 만들어야 합니다. 후위 표현식과 전위 표현식을 이용하여 카운터를 쉽게 만들 수 있습니다. while 반복문 while 반복문은 조건을 반복하여 평가하고, 참이라면 계속 본문을 실행합니다. 조건이 거짓이면 본문을 실행하지 않고 이후의 문장을 실행합니다. 반복을 몇 번 해야 하는지 알고 있을 때는 카운터 제어 while 반복문을 사용합니다. 반복문에 진입하기 전에 카운터를 초기화한 후 반복문 본문에서 값을 증가 또는 감소시켜 그 카운터를.. ai, 인공지능이란 무엇일까? 이 글은 제가 읽고 있는 책의 일부 내용을 요약한 글입니다. "비전공자도 이해할 수 있는 AI 지식" 규칙 기반 인공지능 초기 인공지능은 if-then문으로 이루어진 규칙 기반 인공지능이었습니다. 물론 규칙은 사람이 만든 것이기 때문에 인공지능이라고 부르기엔 조금 어색했죠. 이렇게 처음에는 규칙과 데이터를 이용해 프로그래밍 한 후 정답을 도출하는 방식인 규칙 기반 방식이 인공지능으로 여겨졌습니다. 머신러닝 그리고 머신러닝이라는 기계학습 알고리즘을 활용하기 시작합니다. 말 그대로 기계가 학습을 하는 것입니다. 정답과 데이터만 넣어주면 머신러닝이 규칙을 도출해내죠. 머신 러닝이 활성화 되면서 예전에 나왔던 개념인 인공 신경망에도 관심이 쏠렸습니다. 인공 신경망은 인공지능이라는 개념이 나오면서 같이 언급된 내.. 테이블 해시 함수 문제 풀러 GO! 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 정말 문제에서 말하는데로 풀어보았습니다. col번째 컬럼의 값을 기준으로 오름차순 정렬하고(같을 경우 첫번째 컬럼을 기준으로 내림차순 정렬) row_begin번째 행부터 row_end번째 행까지의 각 행의 컬럼 값들을 행의 i로 나눈 나머지의 합을 구하여 그 합들을 비트 연산 한 값을 구하였습니다. import java.util.*; class Solution { public int solution(int[][] data, int col, int row_begin, int row_.. 가장 가까운 같은 글자 문제풀러 GO 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 오랜만에 코딩테스트 연습 문제를 풀어보았습니다. 오랜만에 코딩태스트 문제를 푸니 재미있네요! 문제 풀이 "s의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자가 어디 있는지 알고 싶습니다." 위는 문제의 일부입니다. 일단 제한사항을 보면 영어 소문자로만 이루어져있기에 26 크기를 가지는 임의의 배열을 생성하여 초기값을 -1로 설정하고, 해당하는 알파벳이 나올 경우 그 위치를 기록합니다. 그리고 문자의 알파벳이 전에 나온 경우 -1을, 나오지 않은 경우 현재 위치에.. 노드 장단점 노드는 CPU부하가 큰 처리보다는 I/O 처리에 특화돼있다. 우리가 작성하는 코드는 모두 스레드 하나에서 처리하며, libuv에서 I/O 처리를 논 블로킹 처리해주기 때문에 많은 수의 I/O 처리도 감당할 수 있는 것이다. 하지만 CPU 연산을 많이 요구하면 스레드 하나로는 감당하기가 힘들다. 노드는 크기는 작지만 개수는 많은 데이터를 실시간으로 주고받는 데에 적합하다.(ex: 네트워크, 데이터베이스, 디스크 작업과 같은 I/O 처리를 하는 실시간 채팅/주식 차트/JSON 데이터 제공하는 API서버) 이미지, 비디오 처리, 대규모 데이터 처리처럼 CPU를 많이 사용하는 작업을 위한 서버로는 권장하지 않는다.(AWS람다, 구글 클라우드 펑션스 등의 서비스에서는 노드로 많은 CPU를 사용하는 작업 처리를 지.. 이전 1 2 3 4 ··· 10 다음