분류 전체보기545 [백준][python]1920.수찾기 - 이진탐색 아래의 문제는 '백준'의 알고리즘 문제 내용이며 코드는 직접 푼 내용입니다. 1920.수찾기 문제 및 입출력 입출력예시 나의시도 그냥 단순하게 문자열안에서 검색하도록 in 을 썼다. 그런데 다시보니 자연수의 범위가 10만까지이다. 그래서 시간초과가 났다. 결과 (시간초과) import sys input=sys.stdin.readline n=int(input()) n_list=list(map(int,input().split())) m=int(input()) m_list=list(map(int,input().split())) for m in m_list: if m in n_list: print("1") else: print("0") 결과2 (출력초과) 혹시 몰라서 문자열매칭 패키지인 re를 써서도 탐색해봤다.. 2021. 7. 5. [python] 문자열매칭. KMP 알고리즘 (백준16916, 백준1786) 단어검색 (문자열매칭) 요구사항 - 워드안에서 Ctrl+F하는 것 처럼, 검색한 단어들이 있는 모든 위치를 전부 알려줘! - 단어사전에 단어가 수만개, 문서길이가 수천개 - 문서는 띄어쓰기가 없거나 마구잡이로 된 상황 - 문서안에 검색할 단어가 여러번 출현해서 문서전체를 훑어야한다. 1. find() 문자열의 위치를 반환하지만, 단어가 문자열내에서 나타나는 첫위치 하나만 리턴한다. 그래서 검색할 단어가 여러번 나타날 경우 처리할 수가 없다 2. 정규식 라이브러리(re) 사용 re.match(), re.finditer() 으로 매칭되는 좌표를 전부 리스트로 반환해준다. 하지만, 데이터의 양이 많아지게 될 경우 시간이 오래걸리는 문제점이 있다. 3. 문자열매칭 알고리즘 위와같은 제한사항으로 인해 문자열매칭 .. 2021. 7. 5. [python] 정규표현식과 Re모듈함수(match/search/findall/fullmatch) 정규표현식(Regular Expression) 정규표현식을 지원하기 위해 표준모듈 re 사용 원하는 문자열 패턴을 정의하여, 소스문자열과의 일치여부 판단 정규표현식을 왜 쓰는걸까? 파이썬 문자열에서 기본적으로 in,find(),index() 같은 함수로 문자열이 존재하는지, 어느위치에 있는지 알려준다. 하지만 문자열안에 정수만 추출하고 싶다면 문자열에서 제공하는 함수만으로 한계가 있다. 이때 정규표현식 사용 re모듈 함수 match(패턴,문자열) : 문자열의 처음부터 시작해서 작성한 패턴이 일치하는지 확인 import re print(re.match('a','ab')) # print(re.match('a','ba')) #None search(패턴,문자열) : 문자열 안에 작성한 패턴이 일치하는지 확인, .. 2021. 7. 5. [책정리]빅데이터를 지탱하는 기술 5.1 워크플로 관리 6월 선정도서 - 빅데이터를 지탱하는 기술 선정계기 - 데이터가 쌓이고 흐르는 전체적인 구조를 깊이 있게 이해할 수 있고, 미래의 데이터엔지니어로써 해야하는 업무들의 전반적인 흐름을 파악할 수 있을 것 같아 선정(기대가 된다 목차 챕터5. 빅데이터의 파이프라인 5-1. 워크플로관리 5-2. 배치형의 데이터플로우 5-3. 스트리밍형의 데이터플로우 정기적인 데이터관리를 자동화하여 안정된 배치처리를 실행하기 위해 워크플로 관리도구 도입 아, 아무래도 기존 데이터웨어하우스, 데이터마트보다 덜 접해본 개념이다보니 너무나도 생소하고 낯설다.. 그래서 이해가 되지 않는 부분이 꽤나 많았다... 워크플로 관리 워크플로 관리란? 정해진 업무를 원활하게 진행하기 위한 구조 정해진 스케쥴에 따라 자동으로 실행되도록 하는 자.. 2021. 7. 5. 음악추천챗봇8. 아티스트 유사도 테스트 수행 및 예외처리 테스트 수행 어느정도 유사도가 나오는지 궁금해서 몇가지 아티스트 데이터를 넣어봤다. (아티스트 총 22) 그리고 데이이터처리 및 분석결과 혹시 유사아티스트의 결과값이 바뀌는지도 확인해보았고, 실제로 어느정도 유사한지를 확인해보았다. 1. 유사도 정확성 정교한 값이 아니라 그냥 무작정 평균값으로 비교하기에 크게 기대는 하지 않았다. 그런데 걸그룹(예: 브레이브걸스)에 대한 유사아티스트들이 다 걸그룹으로 나오거나, 보이그룹(예:빅뱅)에 대한 유사아티스들이 다 보이그룹으로 나오는 경우는 꽤 신기했다. 2. realated_artist 테이블업데이트 신규아티스트들이 들어오고 s3,아테나 스크릡트를 돌리고 나서 유사아티스트가 결과가 바뀌는지도 확인해보았다. 처음 APINK의 유사한 아티스트들은 러블리즈,트와이스,.. 2021. 7. 2. 음악추천챗봇7. crontab 스케쥴링 및 최종 메세지 확인 이제 거의 다 했다! 고지가 눈앞에 보인다 이번에 해야할 일은 다음과 같다. 1. 카카오톡 챗봇에 데이터 뿌려주기 related_artists 테이블에 있는 아티스트들의 top_track정보를 가져오는 것이다. 그리고 그걸 카카오 챗봇에서 carousel(케로셀) 타입으로 뿌려주기만 하면 된다. 2. 기능테스트 여기까지 테스트를 해보고, 데이터를 더 많이 넣어서 유사도를 확인해볼까 한다. rds,dynamodb,athena,s3를 다 쓰니까 인프라 비용에 조금 부담되서 후딱 테스트하고 다 지웠다.. 3. crontab 자동화처리 그다음에 s3와 athena를 돌려야하는데 이걸 ec2에 넣어서 crontab처리로 자동화를 한다. carousel(케로셀)타입 이제 related_artists결과를 selec.. 2021. 6. 29. [책정리] 빅데이터를 지탱하는 기술 4.4 비구조화 데이터 분산스토리지 6월 선정도서 - 빅데이터를 지탱하는 기술 선정계기 - 데이터가 쌓이고 흐르는 전체적인 구조를 깊이 있게 이해할 수 있고, 미래의 데이터엔지니어로써 해야하는 업무들의 전반적인 흐름을 파악할 수 있을 것 같아 선정(기대가 된다 목차 챕터4. 빅데이터의 축적 4-1. 벌크형과 스트리밍형 데이터의 수집 4-2. 메세지 배송의 트레이드 오프 4-3. 시계열데이터의 최적화 4-4. 비구조화 데이터의 분산 스토리지 (Dynamodb/Cassandra/MongoDB/ElasticSearch/Splunk) 비구조화데이터 = 비정형데이터 = NoSQL 데이터베이스에 저장하는 데이터들 [NoSQL 데이터베이스의 예] 분산key-value 스토어 : DynamoDB 와이드칼럼 스토어 : Cassandra 도큐먼트 스토어 :.. 2021. 6. 27. [예정] 객체스토리지와 NoSQL스토리지의 차이점 /CAP정리 ACID특성 트랜잭션 처리에 요구되는 4가지 성질 원시성(Automicity) 일관성(Consistency) 독립성(Isolation) 내구성(Durability) 일반적인 RDB는 ACID특성을 충족하고 있어 신뢰성 있는 트랜잭션 처리를 실현한다. 하지만 ACID특성을 만족하면서 분산시스템을 구축하는 것은 어렵다. 그래서 이러한 한계를 고려해서 다시 만들어진 것이 CAP정리. CAP정리 일관성(Consistency) 가용성(Availabilty) 분단내성(Partition-tolerance) 일반적인 분산시스템에서는 CAP정리를 동시에 충족시킬 수 없어 어느하나가 희생될 수 있다. NoSQL에서는 RDB처럼 반드시 신뢰성 있는 트랜잭션 처리를 수행할 수 있다고는 할 수 없다. NoSQL데이터베이스의 일.. 2021. 6. 27. [책정리]빅데이터를 지탱하는기술 4.3 시계열데이터의 최적화 6월 선정도서 - 빅데이터를 지탱하는 기술 선정계기 - 데이터가 쌓이고 흐르는 전체적인 구조를 깊이 있게 이해할 수 있고, 미래의 데이터엔지니어로써 해야하는 업무들의 전반적인 흐름을 파악할 수 있을 것 같아 선정(기대가 된다 목차 챕터4. 빅데이터의 축적 4-1. 벌크형과 스트리밍형 데이터의 수집 4-2. 메세지 배송의 트레이드 오프 4-3. 시계열데이터의 최적화 4-4. 비구조화 데이터의 분산 스토리지 (Dynamodb/Cassandra/MongoDB/ElasticSearch/Splunk) 스트리밍형 메세지배송에서는 메세지가 도착할떄까지 시간지연이 문제다. 늦게 도달하는 데이터가 집계속도에 어떤 영향을 미칠 것인가 프로세스 시간과 이벤트시간 이벤트시간 : 클라이언트 상에서 메시지가 생성된 시간 프로세스.. 2021. 6. 26. [책정리] 빅데이터를 지탱하는기술 4.2 메세지 배송의 트레이드 오프 6월 선정도서 - 빅데이터를 지탱하는 기술 선정계기 - 데이터가 쌓이고 흐르는 전체적인 구조를 깊이 있게 이해할 수 있고, 미래의 데이터엔지니어로써 해야하는 업무들의 전반적인 흐름을 파악할 수 있을 것 같아 선정(기대가 된다 목차 챕터4. 빅데이터의 축적 4-1. 벌크형과 스트리밍형 데이터의 수집 4-2. 메세지 배송의 트레이드 오프 4-3. 시계열데이터의 최적화 4-4. 비구조화 데이터의 분산 스토리지 (Dynamodb/Cassandra/MongoDB/ElasticSearch/Splunk) 클라이언트 수가 많아지면 스트리밍형의 메세지배송의 성능과 신뢰성을 둘다 만족시키는 것이 어렵다. 왜? 성능문제 : 메세지브로커 메세지브로커가 없다면? 성능문제 메세지 배송으로 보내진 데이터들을 분산스토리지에 저장할때.. 2021. 6. 26. 이전 1 ··· 24 25 26 27 28 29 30 ··· 55 다음