일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Kaggle
- Docker
- Real or Not? NLP with Disaster Tweets
- 금융문자분석경진대회
- hackerrank
- 편스토랑 우승상품
- 프로그래머스 파이썬
- 데이콘
- 우분투
- 파이썬
- ChatGPT
- 편스토랑
- PYTHON
- 더현대서울 맛집
- Git
- programmers
- 코로나19
- AI 경진대회
- Baekjoon
- ubuntu
- SW Expert Academy
- gs25
- 맥북
- 캐치카페
- 자연어처리
- dacon
- 백준
- 프로그래머스
- github
- leetcode
- Today
- Total
목록
반응형
Programming (1169)
솜씨좋은장씨
1일 1문제 96일차! 오늘의 문제는 백준의 듣보잡입니다. 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. �� www.acmicpc.net Solution N, M = map(int, input().split()) people_no_hear = [] people_no_look = [] for i in range(N): name = str(input()) people_no_hear.append(name) for i in range(M): name = str(input()) people_no_look.append(name) no_hear..
Elasticsearch가 설치된 서버와 api를 실행할 서버가 같으면서 개발한 API 에서 Elasticsearch를 연결할 때 es_client = Elasticsearch("http://localhost:9200") 위와 같이 Python과 Elasticsearh 라이브러리를 활용하여 연결하는 경우 Python과 Flask를 활용하여 개발한 API를 담은 이미지를 만들고 docker run -it -d --name api_contatiner -p 5000:5000 api_image 위의 명령어를 활용하여 container로 실행한 후 http://localhost:5000/search?query=%EC%95%88%EB%85%95 query를 보내 호출을 하려고하면 app.py가 실행되면서 Elast..
Given a string, find the length of the longest substring without repeating characters. Example 1: Input: "abcabcbb" Output: 3 Explanation: The answer is "abc", with the length of 3. Example 2: Input: "bbbbb" Output: 1 Explanation: The answer is "b", with the length of 1. Example 3: Input: "pwwkew" Output: 3 Explanation: The answer is "wke", with the length of 3. Note that the answer must be a su..
1일 1문제 94일차! 오늘의 문제는 가장 긴 증가하는 부분수열입니다. 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net Solution inputNum = int(input()) inputNums = input() inputNums = inputNums.split() inputNums = [int(num) for num in inputNums] nc = [0] * (inputNum) maxNum = 0 for i in range(0,..
1일 1문제 93일차! 오늘의 문제는 백준의 ROT13입니다. 11655번: ROT13 첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다. www.acmicpc.net Solution word_s = input() rot13keyValue = {'a':'n', 'b':'o', 'c':'p', 'd':'q', 'e':'r', 'f':'s', 'g':'t', 'h':'u', 'i':'v', 'j':'w', 'k':'x', 'l':'y', 'm':'z', 'n':'a', 'o':'b', 'p':'c', 'q':'d', 'r':'e', 's':'f', 't':'g', 'u':'h', 'v':'i', 'w':'j', 'x':'k', 'y':'l'..
1일 1문제 92일차! 오늘의 문제는 백준의 에디터 입니다. 1406번: 에디터 문제 한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다. 이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수 있다. 즉 길이가 L인 문자열이 현재 편집기에 입력되어 있으면, 커서가 위치할 수 있는 곳은 L+1가지 경우가 www.acmicpc.net Solution import sys from collections import deque class Editor: def __init__(self..
1일 1문제! 91일차! 91일차의 문제는 백준의 괄호입니다. 9012번: 괄호 문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(conc www.acmicpc.net Solution case = int(input()) result = [] for i in range(case): gwalhos = list(in..
Python과 bulk API를 활용하여 인덱싱을 하던 중 elasticsearch.exceptions.ConnectionTimeout: ConnectionTimeout caused by - ReadTimeoutError(HTTPConnectionPool(host='localhost', port=9200): Read timed out. (read timeout=10)) 위와 같은 오류가 나면서 중간에 멈추는 현상이 계속 생겨 14만건의 데이터를 인덱싱하여야하지만 계속 3만건에서 멈추는 현상이 있었습니다. 이 문제는 연결 시간을 초과했을때 발생한다고 합니다. 해당하는 변수값은 es_client = ElasticSearch("http://localhost:9200") Elasticsearch를 연결하는 위의..
1일 1문제 90일차! 오늘의 문제는 GCD 합 입니다. 9613번: GCD 합 문제 양의 정수 n개가 주어졌을 때, 가능한 모든 쌍의 GCD의 합을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 t (1 ≤ t ≤ 100)이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있다. 각 테스트 케이스는 수의 개수 n (1 0: a = b b = mod mod = a%b return ..
Flask로 API를 만들던 중 (venv) (base) DongHyunui-MacBook-Pro:ElasticsearchAPI donghyunjang$ python3 app.py * Serving Flask app "app" (lazy loading) * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: on Traceback (most recent call last): File "app.py", line 97, in app.run(host='0.0.0.0', debug=Tr..
1일 1문제 89일차! 오늘의 문제는 백준의 네 수 입니다. 10824번: 네 수 첫째 줄에 네 자연수 A, B, C, D가 주어진다. (1 ≤ A, B, C, D ≤ 1,000,000) www.acmicpc.net Solution A, B, C, D = map(str, input().split()) intAB = int(A+B) intCB = int(C+D) print(intAB + intCB) SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub. github.com
1일 1문제 88일차! 오늘의 문제는 백준의 곱셈입니다. 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net 첫번째 제출 A, B, C = map(int, input().split()) print((A**B) % C) 쉬운문제다! 라고 좋아했는데 엥...? 시간초과 결과를 볼 수 있었습니다. 두번째 제출 A, B, C = map(int, input().split()) print(pow(A, B) % C) 이전에 pow가 ** 보다 빠르다고 했던 것이 기억나서 **를 pow로 바꾸어 도전했지만 여전히 시간초과 결과가 나왔습니다. 세번째 제출 A, B, C = map(int, in..
1일 1문제! 87일차! 오늘의 문제는 백준의 로또 입니다. 6603번: 로또 문제 독일 로또는 {1, 2, ..., 49}에서 수 6개를 고른다. 로또 번호를 선택하는데 사용되는 가장 유명한 전략은 49가지 수 중 k(k>6)개의 수를 골라 집합 S를 만든 다음 그 수만 가지고 번호를 선택하는 것이다. 예를 들어, k=8, S={1,2,3,5,8,13,21,34}인 경우 이 집합 S에서 수를 고를 수 있는 경우의 수는 총 28가지이다. ([1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2 www.acmicpc.net Solution from itertools import combinations while True: input_command = input() i..
1일 1문제 86일차! 오늘의 문제는 프로그래머스의 최댓값과 최솟값 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution def solution(s): answer = '' num_list = list(map(int, s.split(' '))) min_num = min(num_list) max_num = max(num_list) answer = str(min_num) + " " + str(max_num) return answer SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribu..
[Python] flask와 mongoDB를 활용하여 REST API 만들기 1 - CSV 데이터를 불러와 mongoDB에 데이터 추가하기 1. 필요한 라이브러리 설치하기 pip install pymongo pip install pandas pip install tqdm 먼저 필요한 라이브러리를 설치합니다. 2. csv에서 데이터 불러와서 json 형태로 만들기 CSV는 지난 캐치 프로그램 과.. somjang.tistory.com 지난번에 크롤링을 통해서 데이터를 저장해 놓은 mongoDB와 Flask를 활용하여 API를 만들어보면서 pymongo를 통해 mongoDB에서 가져온 데이터를 flask의 jsonify를 거쳐 return 하려고 하면 Code from flask import Flask, j..
1일 1문제 85일차! 오늘의 문제는 백준의 -2진수 입니다. 2089번: -2진수 -2진법은 부호 없는 2진수로 표현이 된다. 2진법에서는 20, 21, 22, 23이 표현 되지만 -2진법에서는 (-2)0 = 1, (-2)1 = -2, (-2)2 = 4, (-2)3 = -8을 표현한다. 10진수로 1부터 표현하자면 1, 110, 111, 100, 101, 11010, 11011, 11000, 11001 등이다. 10진법의 수를 입력 받아서 -2진수를 출력하는 프로그램을 작성하시오. www.acmicpc.net Solution inputNum = int(input()) base = 1 minusBinary = [] if inputNum == 0: print(0) else: while inputNum: i..
1일 1문제 84일차! 오늘의 문제는 프로그래머스의 124 나라의 숫자입니다! 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution def solution(n): answer = "" while n > 0: n, i = divmod(n, 3) if i == 0: n = n - 1 answer = '412'[i] + answer return answer SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by ..
aws ec2 서버에서 nori를 사용하기위해 설치하고 Kibana에서 제대로 설치가 되었는지 확인해보기위해 GET _analyze { "tokenizer": "nori_tokenizer", "text": [ "동해물과 백두산이" ] } 위의 query를 실행하였을때 { "error" : { "root_cause" : [ { "type" : "illegal_argument_exception", "reason" : "failed to find global tokenizer under [nori_tokenizer]" } ], "type" : "illegal_argument_exception", "reason" : "failed to find global tokenizer under [nori_tokenize..
Marie invented a Time Machine and wants to test it by time-traveling to visit Russia on the Day of the Programmer (the 256th day of the year) during a year in the inclusive range from 1700 to 2700. From 1700 to 1917, Russia's official calendar was the Julian calendar; since 1919 they used the Gregorian calendar system. The transition from the Julian to Gregorian calendar system occurred in 1918,..
HackerLand University has the following grading policy: Every student receives a grade in the inclusive range from 0 to 100. Any grade less than 40 is a failing grade. Sam is a professor at the university and likes to round each student's grade according to these rules: If the difference between the grade and the next multiple of 5 is less than 3, round grade up to the next multiple of 5. If the..
1일 1문제 81일차! 오늘의 문제는 백준의 덱 (Deque) 입니다. 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다. www.acmicpc.net Solution my_dequeue = [] command_list = [] num = input() for i in range(int(num)): command = input() command_list.append(command) for command in command_list: cmd = command.split() if cmd[0] =..
1일 1문제 80일차 오늘의 문제는 백준의 요세푸스 문제입니다. 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net Solution N, K = map(int, input().split()) circular_list = [] answer = [] for i in range(N): circular_list.append(i+1) popNum = 0 while len(circular_list) >0: popNum = (popNum + (K-1)) % len(circular_list) popElemnet = circular_list.pop(popNum) answer.append(str(popElemnet)) p..
1일 1문제 79일차! 오늘의 문제는 백준의 1로 만들기 입니다. 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net Solution inputNum = int(input()) arr = [0] * (inputNum + 1) for i in range(1, inputNum + 1): if i == 1: continue values = [] if i % 3 == 0: values.append(arr[i//3] + 1) if i % 2 == 0: values.append(arr[i//2] + 1) values.append(arr[i-1] + 1) arr[i] = min(values) print(str(arr[inputNum])) ..
1일 1문제 78일차 오늘의 문제는 백준의 가장 긴 감소하는 부분 수열 입니다. 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} 이고, 길이는 3이다. www.acmicpc.net Solution inputNum = int(input()) inputNums = input() inputNums = inputNums.split() inputNums = [int(num) for num in inputNums] nc = [0] * (inputNum) maxNum = 0 f..
최근에 크롤링을 하면서 네이버 뉴스의 기사를 크롤링하고 그 크롤링한 데이터를 MariaDB에 insert하는데 워낙 크롤링하는 데이터의 개수가 많다보니 time.sleep(0.5) 의 0.5초 시간까지 더하여 24시간 ~ 30시간 정도가 소요되었습니다. 짧은 시간 크롤링이라면 그냥 크롤링이 진행되는 동안 지켜보면서 문제가 발생했을 때 대응할 수 있지만 많은 양의 데이터를 긴 시간 동안 크롤링할때는 중간중간 이동하는 시간이나 식사시간에 직접 일일이 확인할 수 없으니 뭔가 다른 루트를 통해 진행 과정이나 오류가나서 멈추거나 하는 것들을 확인하고 싶었습니다. 그러던 중 예전에 삼성 SOSCON 당시 케라스 코리아 밋업에서 들었던 내용중에 딥러닝의 학습과정을 Slack에 기록을 남겨 어디서든지 확인할 수 있도록..
1일 1문제 77일차! 오늘의 문제는 프로그래머스의 카펫입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution def solution(brown, red): answer = [] for red_height in range(1, int(red**0.5) + 1): if red % red_height == 0: red_width = red // red_height if (2*red_width) + (2*red_height) + 4 == brown: answer = [red_width + 2, red_height + 2] break return..
1일 1문제 76일차! 오늘의 문제는 백준의 이친수입니다. 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않는다. 이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다. 예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되 www.acmicpc.net Solution n = int(input()) def answer(n): if n == 1: fiboNum = 1 elif n == 2: fibo..
1일 1문제 75일차! 오늘의 문제는 백준의 암호코드 입니다.
1일 1문제 74일차! 오늘의 문제는 프로그래머스의 쇠막대기입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution def solution(arrangement): sum_num = 0 left = 0 for i in range(len(arrangement)): if arrangement[i] == '(': left = left + 1 elif arrangement[i] == ')': left = left - 1 if arrangement[i-1] == '(': sum_num = sum_num + left else: sum_num = sum..
1일 1문제 73일차! 오늘의 문제는 프로그래머스의 2018 KAKAO BLIND RECRUITMENT : [1차] 뉴스클러스트링 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫번째 제출 import re def getTwolengthString(temp): re_compile = re.compile('[a-z]{2}') re_match = re.fullmatch(re_compile, temp) return re_match def solution(str1, str2): str1_list = list(str1.lower()) str2_list =..