일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 편스토랑 우승상품
- SW Expert Academy
- Git
- PYTHON
- 금융문자분석경진대회
- leetcode
- hackerrank
- Real or Not? NLP with Disaster Tweets
- github
- 자연어처리
- 우분투
- 백준
- dacon
- 프로그래머스 파이썬
- 맥북
- 더현대서울 맛집
- 코로나19
- 캐치카페
- Docker
- ChatGPT
- gs25
- 프로그래머스
- Kaggle
- 편스토랑
- programmers
- AI 경진대회
- 파이썬
- 데이콘
- ubuntu
- Baekjoon
- Today
- Total
목록
반응형
2020/04 (59)
솜씨좋은장씨
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] =..
이전에 Git으로 여러사람들과 협업을 할때 프로젝트에 참여했던 모두가 venv 가상환경 파일들과 __pycache__파일들까지 모두 GitHub에 push를 하려고하니 다른 사람의 __pycache__ 와 push를 하려는 사람의 __pycache__파일에 몇가지 충돌 요소가 있어 충돌을 매번 해결하고 merge하느라 고생이 많았던 기억이 있습니다. 오늘은 push를 굳이 하지 않아도 되면서 충돌요소가 있는 __pycache__ 같은 파일을 제외하고 push를 할 수 있도록 도와주는 .gitignore 설정 방법에 대해서 적어보고자 합니다. 1. vi 편집기를 이용하는 방법 $ vi .gitignore 먼저 위의 명령어를 통해 gitignore파일을 생성합니다. (생성이 되어있다면 편집화면으로 이동합니다..
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일차! 오늘의 문제는 백준의 암호코드 입니다.
리눅스 환경이나 MAC OS 환경에서 터미널을 사용하면서 ls, clear 명령어를 사용하다가 윈도우의 명령 프롬프트로 와서 습관처럼 해당 명령어를 사용하려하면 위와 같이 'ls'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 이런 알림을 보게 됩니다. 리눅스나 MAC OS에서 사용했던 명령어를 윈도우에서도 간단한 명령어로 사용할 수 있게 바꿀 수 있습니다. 방법은 다음과 같습니다. doskey 사용을 희망하는 명령어 = 기존 명령어 이렇게 doskey 다음에 사용을 희망하는 명령어 (여기서는 ls, clear) 를 적고 = 을 입력하고 = 뒤에 기존에 명령프롬프트에서 사용하던 명령어 (여기서는 dir, cls)를 적어주면 ls 로 dir 과 같은 기능을, clea..
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 =..
1일 1문제 72일차! 오늘의 문제는 백준의 제로입니다. 10773번: 제로 문제 나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다. 재현이는 재민이를 도와서 돈을 관리하는 중인데, 애석하게도 항상 정신없는 재현이는 돈을 실수로 잘못 부르는 사고를 치기 일쑤였다. 재현이는 잘못된 수를 부를 때마다 0을 외쳐서, 가장 최근에 재민이가 쓴 수를 지우게 시킨다. 재민이는 이렇게 모든 수를 받아 적은 후 그 수의 합을 알고 싶어 한다. 재민이를 도와주자! 입력 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ www.acmicpc.net Solution input_N = int(input()) stack = [] for i in range(input_N): input_num = int..
1일 1문제 71일차! 오늘의 문제는 프로그래머스의 영어 끝말잇기 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution def solution(n, words): answer = [0, 0] for i in range(1, len(words)): if words[i-1][-1] != words[i][0] or words[i] in words[0:i]: answer[0] = ( i % n ) + 1 answer[1] = ( i // n ) + 1 break return answer SOMJANG/CODINGTEST_PRACTICE 1일 1..
1. yum 업데이트 $ sudo yum update 먼저 위의 명령어를 활용하여 yum 패키지를 업데이트 시켜줍니다. 2. git 설치 $ sudo yum install git -y 위의 명령어를 통해 git을 설치합니다. 여기서 git 뒤에 -y가 붙는 이유는 중간에 설치를 계속 진행하겠는지 물어보는 것에 y / n 으로 입력하여 대답해야하는데 미리 -y를 입력함으로써 그 과정을 자동으로 넘어가게 하기 위함입니다. 3. 잘 설치 되었는지 확인하기 $ git version git version 2.23.1 git version 명령어를 통해 잘 설치가 되었는지 확인해봅니다. git version ~~ 하며 설치된 버전이 제대로 나온다면 설치완료!
Git Bash를 사용하다가 보면 다른 계정으로 변경하고 싶을 때가 있습니다. 저는 회사 컴퓨터에 개인 Github계정을 설정해 두었었는데 생각해보니 개인 계정을 사용하지 않고 계속 회사 계정으로 사용할 것 같아 Git Bash의 계정을 바꾸기로 하였습니다. 다음은 Git Bash에서 터미널 계정을 변경하는 방법입니다. 1. 현재 설정된 계정 정보 확인 $ git config user.name $ git config user.email 먼저 git Bash를 열고 위의 명령어 두 줄을 입력하면 아래의 사진처럼 현재의 계정 이름 / 이메일을 확인할 수 있습니다. 2. 명령어를 통해 계정 바꾸기 $ git config --global user.name 변경을 희망하는 계정 $ git config --glob..
1일 1문제 70일차! 오늘의 문제는 프로그래머스의 Summer/Winter Coding(~2018)의 소수만들기입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution from itertools import combinations def getPrimaryNum_Eratos(N): nums = [True] * (N + 1) for i in range(2, len(nums) // 2 + 1): if nums[i] == True: for j in range(i+i, N, i): nums[j] = False return [i for i in r..
1일 1문제 69일차! 오늘의 문제는 2019 카카오 개발자 겨울 인턴십 문제였던 튜플 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution from collections import Counter def solution(s): answer = [] delete_special_word_s = s.replace("{", "").replace("}", "").split(',') count_dict = Counter(delete_special_word_s) count_dict_most_common = count_dict.most_common(..
코딩 1일 1문제 68일차! 오늘의 문제는 백준의 JOI와 IOI입니다. 5586번: JOI와 IOI 문제 입력으로 주어지는 문자열에서 연속으로 3개의 문자가 JOI 또는 IOI인 곳이 각각 몇 개 있는지 구하는 프로그램을 작성하시오. 문자열은 알파벳 대문자로만 이루어져 있다. 예를 들어, 아래와 같이 "JOIOIOI"에는 JOI가 1개, IOI가 2개 있다. 입력 첫째 줄에 알파벳 10000자 이내의 문자열이 주어진다. 출력 첫째 줄에 문자열에 포함되어 있는 JOI의 개수, 둘째 줄에 IOI의 개수를 출력한다. 예제 입력 1 복사 JOIOIOIOI 예 www.acmicpc.net Solution input_string = str(input()) JOI = 0 IOI = 0 if len(input_str..
Git Flow에 대해서 실습을 해보던 중 GitHub에 새로 만든 비어있는 repository를 컴퓨터로 git clone 명령어를 통해 clone해와서 branch를 생성하려고 하니 다음과 같은 오류를 얻었습니다. $ git branch develop fatal: Not a valid object name: 'master'. 원인 아직 commit을 한번도 하지 않은 repository이기 때문입니다. 해결방법 최소 1번이상 commit을 진행하면 됩니다. $ git commit -m "initial commit" commit을 진행하고 다시 branch를 만들어보면 아래와 같이 잘 생성이 되는 것을 볼 수 있습니다.
1일 1문제 67일차! 오늘의 문제는 프로그래머스의 다리를 지나는 트럭입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫번째 시도 from collections import deque def solution(bridge_length, weight, truck_weights): answer = 0 truck_weights_deque = deque(truck_weights) trucks_on_bridge = [] while True: if len(truck_weights_deque) == 0: break if sum(trucks_on_bridge) <..
1일 1문제 66일차! 오늘의 문제는 백준에 있는 모음의 개수입니다. 1264번: 모음의 개수 문제 영문 문장을 입력받아 모음의 개수를 세는 프로그램을 작성하시오. 모음은 'a', 'e', 'i', 'o', 'u'이며 대문자 또는 소문자이다. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 영어 대소문자, ',', '.', '!', '?', 공백으로 이루어진 문장이 주어진다. 각 줄은 최대 255글자로 이루어져 있다. 입력의 끝에는 한 줄에 '#' 한 글자만이 주어진다. 출력 각 줄마다 모음의 개수를 세서 출력한다. 예제 입력 www.acmicpc.net Solution vowel_list = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'] ..
1일 1문제 65일차! 오늘의 문제는 프로그래머스 해시의 위장입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution def solution(clothes): answer = 1 spy_clothes_dict = {} for cloth in clothes: if cloth[1] not in spy_clothes_dict.keys(): spy_clothes_dict[cloth[1]] = 1 else: spy_clothes_dict[cloth[1]] = spy_clothes_dict[cloth[1]] + 1 all_values = list(sp..
1일 1문제! 64일차! 오늘의 문제는 백준의 연속합입니다! 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net Solution inputNum = int(input()) inputNums = input() inputNums = inputNums.split() inputNums = [int(num) for num in inputNums] inputNums.insert(0, 0) maxSum = [] maxSum.append(inputNums[0]) for i in range(1, inputNum+1): maxSum.appe..
1일 1문제 63일차! 오늘의 문제는 프로그래머스의 디스크 컨트롤러입니다! 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution def solution(jobs): job_nums = len(jobs) answer = 0 jobs.sort(key=lambda x: (x[0], x[1])) start, time = jobs.pop(0) end = time + start answer = answer + time while jobs: next_index = 0 for index in range(1, len(jobs)): if jobs[index][0]..
1일 1문제 62일차! 오늘의 문제는 백준의 스티커입니다. 9465번: 스티커 문제 상근이의 여동생 상냥이는 문방구에서 스티커 2n개를 구매했다. 스티커는 그림 (a)와 같이 2행 n열로 배치되어 있다. 상냥이는 스티커를 이용해 책상을 꾸미려고 한다. 상냥이가 구매한 스티커의 품질은 매우 좋지 않다. 스티커 한 장을 떼면, 그 스티커와 변을 공유하는 스티커는 모두 찢어져서 사용할 수 없게 된다. 즉, 뗀 스티커의 왼쪽, 오른쪽, 위, 아래에 있는 스티커는 사용할 수 없게 된다. 모든 스티커를 붙일 수 없게된 상냥이는 각 스티커에 점 www.acmicpc.net Solution loopNum = int(input()) for i in range(loopNum): inputNum = int(input()) ..