전체 글 207

baekjoon. 카드2 [python] [Silver IV]

문제링크 :https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net from collections import deque N = int(input()) # 보드의 크기 K = int(input()) # 사과의 개수 def printAll(board): for i in range(N): for j in range(N): print(board[i][j], end = ' ') print("") print("") # 사과 갯수 # 이처럼 하면 한 행만 바꾸어도..

elasticsearch. range query 와 bool query [엘라스틱 스택 개발부터 운영까지]

범위 쿼리 range query - 특정 날짜나 숫자의 범위를 지정해 범위 안에 포함된 데이터들을 검색할 때 사용된다. - 날짜/숫자/IP 타입의 데이터는 범위 쿼리가 가능하지만, 문자형, 키워드 타입의 데이터에는 범위 쿼리를 사용할 수 없다. GET kibana_sample_data_flights/_search { "query": { "range": { "timestamp": { "gte": "2020/12/15", "lte": "2020/12/16" } } } } 참고로, 날짜/시간 포맷이 맞아야 검색이 가능하므로, '2020-12-15', '2020-12-16'으로 검색 시 결과가 나오지 않는다. gte (gte: 10) 10과 같거나 10 보다 큰 값 (gte: 2021-01-21) 2021년 1..

elasticsearch. leaf query (match, term, range) [엘라스틱 스택 개발부터 운영까지]

엘라스틱서치는 크게 리프 쿼리 leaf query와 복합 쿼리 compound query로 나눌 수 있다. - leaf query는 특정 필드에서 용어를 찾는 쿼리로, 매치 match 용어 term 범위 range 쿼리 등이 있다. - compound query는 쿼리를 조합해 사용되는 쿼리로, 논리 bool 쿼리 등이 있다. [ leaf query ] 전문 쿼리 full text query와 용어 수준 쿼리 term level query의 차이점 - full text query는 전문 검색을 하기 위해 사용되며, 전문 검색을 할 필드는 인덱스 매핑 시 텍스트 타입으로 매핑해야 한다. > 텍스트 타입 필드에서 검색어를 찾을 때 사용한다. > 분석기가 텍스트를 토큰화해서 전문 검색이 가능하다. - term..

safari. 아이폰/아이패드 safari debug 하는 법

Problem - 아이폰/아이패드 사파리에서 개발자 도구 보고자 할 때 - 노트북에서는 잘 돌아가는데, 아이폰/아이패드에서는 안돌아갈 때 Solution 준비물 : 아이폰/아이패드, 맥북 - 아이폰/아이패드 : Safari > 설정 > 고급 > 웹속성 > 키기 - 맥 Safari : 개발자용 > 확인하고자 하는 기기 > 사이트 내용 그러면 아래와 같이 콘솔창을 통해서 확인 가능하다. 네트워크탭, 저장 공간 모두 확인 가능하다. [디버깅] iOS7 아이폰의 모바일 사파리 개발자 도구/콘솔 툴 사용하기 * 이번에 localStorage를 사용하면서 안드로이드에서는 되는데 아이폰에서만 안되는 독특한(?) 현상 때문에 애를 먹다가 옛날에 모바일 브라우져 환경에서 디버깅을 하는데 사용했던 툴을 깔아야하 uniky..

개발/꿀팁 2023.03.08

elasticsearch. 역인덱싱과 분석기 [엘라스틱 스택 개발부터 운영까지]

엘라스틱서치는 전문 검색을 지원하기 위해 역인덱싱 기술을 사용한다. 전문 검색은 장문의 문자열에서 부분 검색을 수행하는 것이며, 역인덱싱은 장문의 문자열을 분석해 작은 단위로 쪼개어 인덱싱하는 기술이다. 역인덱싱을 이용한 전문 검색에서 양질의 결과를 얻기 위해서는 문자열을 나누는 기준이 중요하며, 이를 지원하기 위해 엘라스틱 서치는 캐릭터 필터, 토크나이저, 토큰 필터로 구성되어 있는 분석기 모듈을 갖고 있다. - 분석기에는 하나의 토크나이저가 반드시 포함돼야 하며, 캐릭터 필터와 토큰 필터는 옵션이므로 없어도 되고 여러 개를 함께 사용해도 된다. 분석기 구성 구성요소 설명 캐릭터 필터 입력받은 문자열을 변경하거나 불필요한 문자들을 제거한다 토크나이저 문자열을 토큰으로 분리한다. 분리할 때 토큰의 순서나..

baekjoon. 크게 만들기 (2812) [python][Gold III]

문제 링크 : https://www.acmicpc.net/problem/2812 >> 접근방법 - 숫자 k개를 지웠을때 맨 앞의 수가 가장 클수로 정답인 가장 큰 수를 얻을 수 있다. 내가 처음에 풀었던 접근은 숫자 중에서 제일 큰 숫자들을 남기는 방식으로 접근했는데, 그럴경우 세번째 예시에서 477584가 남으면서 775841에서 답이 틀린다. - 이를 위해 현재 인덱스 위치값보다 왼쪽(-1 위치)값이 작고 지울 수 있는 횟수 k가 남아있다면 현재 인덱스 왼쪽 (-1) 값을 지워주면 된다. >> 내가 푼 풀이 N, K = map(int, input().split()) num = input() stack = [] cnt = K for i in num: # 현재 i가 stack에 있는 값보다 크다면 제거 ..

python. input vs sys.stdin.readline() : input 사용시 가끔식 시간초과 발생하는 이유

input() a = int(input()) print(a) - parameter로 prompt message를 받을 수 있다. > 숫자를 입력해주세요 같은 메시지가 promt message이다. - 입력받은 값의 개행 문자를 삭제시킨 뒤 리턴한다. 즉 입력받은 문자열에 rstrip() 함수를 적용시켜서 리턴하기 때문에 다소 느리다. sys.stdin.readline() import sys a = int(sys.stdin.readline()) print(a) - input()과 다르게 sys 라이브러리를 import 해줘야 한다. - prompt message를 인수로 받지 않는다. - 개행 문자를 포함한 값을 리턴한다. - sys에 속하는 메소드들은 file object로 취급되며 사용자의 입력을 받는..

카테고리 없음 2023.02.21

baekjoon. 큐2 (18258) [python][Silver IV]

문제 : https://www.acmicpc.net/problem/18258 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제풀이 import sys from collections import deque n = int(input()) queue = deque([]) for i in range(n): str = sys.stdin.readline() strArray = str.split() command = strArray[0] if len(strArray) > 1: args = str..

반응형