일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 캐치카페
- 편스토랑
- 파이썬
- github
- gs25
- leetcode
- Real or Not? NLP with Disaster Tweets
- 편스토랑 우승상품
- 백준
- 맥북
- dacon
- 프로그래머스 파이썬
- Docker
- 금융문자분석경진대회
- 코로나19
- Kaggle
- SW Expert Academy
- PYTHON
- 더현대서울 맛집
- hackerrank
- 데이콘
- Git
- 우분투
- ChatGPT
- 자연어처리
- programmers
- ubuntu
- Baekjoon
- AI 경진대회
- 프로그래머스
- Today
- Total
목록
반응형
분류 전체보기 (1651)
솜씨좋은장씨
코딩 1일 1문제! 오늘의 문제는 정올의 세로읽기 입니다. JUNGOL www.jungol.co.kr Solution strings = [] answer = [] max_num = 0 for _ in range(5): string = input() if max_num < len(string): max_num = len(string) strings.append(list(string)) for i in range(max_num): for j in range(5): if i < len(strings[j]): answer.append(strings[j][i]) print("".join(answer)) Solution 풀이 먼저 문자열 5개를 입력 받아 strings에 입력합니다. 입력받으면서 가장 긴 문자열의 ..
최근 aiohttp와 requests가 같이 설치되어있는 가상환경에서 fastapi로 개발되어있는 api 코드를 실행하려고 하니 $ python3 asgi.py ImportError: cannot import name 'DependencyWarning' from 'urllib3.exceptions' (/Users/donghyunjang/42maru/Cerberus/lib/python3.7/site-packages/urllib3/exceptions.py) 위와 같은 오류가 발생하였습니다. 이를 해결하는 방법은 다음과 같습니다. $ pip uninstall urllib3 먼저 urllib3를 제거한 다음 $ pip install urllib3 다시 설치하고 나서 다시 실행해보면! $ python3 asgi...
코딩 1일 1문제! 오늘의 문제는 정올의 단어 세기 입니다. JUNGOL www.jungol.co.kr Solution from collections import Counter while True: input_str = input() if input_str == "END": break words = input_str.split(" ") word_cnt_items = sorted(Counter(words).items(), key=lambda x: x[0]) for item in word_cnt_items: print(f"{item[0]} : {item[1]}") Solution 풀이 collections의 Counter를 활용하여 풀어보았습니다. while 반복문 안에서 문자열을 입력 받습니다. 반복문은 ..
이 글에서는 MathJax를 활용하여 티스토리에서 수식을 입력하는 방법에 대해 적어보려 합니다. 1. 설정 방법 방법 1. 티스토리 에디터 HTML 모드에서 Script 입력하기 먼저 티스토리 에디터에서 우측 상단 기본모드 라고 되어있는 버튼을 눌러 나오는 메뉴 중에 HTML을 선택하여 HTML 편집 모드로 들어갑니다. 그 다음 위의 script를 입력해줍니다. 그리고 다시 아까와 같은 방법으로 기본편집 모드로 돌아옵니다. 방법 2. Script를 한번 입력해두고 계속 활용하기 나는 수식 입력을 자주해야한다! 수식 입력 빈도가 높다! 하시는 분들은 티스토리 설정에서 한번만 설정하면 별도의 글 작성 시 Script를 입력하지 않아도 계속 활용할 수 있는 방법이 있습니다. 티스토리 설정 > 좌측 배너 > 꾸..
코딩 1일 1문제! 오늘의 문제는 백준의 네 번째 점 입니다. 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net Solution x_points, y_points = [], [] return_x, return_y = None, None for _ in range(3): x_point, y_point = input().split() x_points.append(x_point) y_points.append(y_point) for i in range(3): if x_points.count(x_points[i]) == 1: return_x = x_points[i] if y_points.count(y..
이번주부터 회사의 동료분과 함께 강화학습에 대해서 공부해보기로 하여 마침! 결제해두고 제대로 활용하지 못하던 Google Colab Pro에서 OpenAI의 gym을 활용해서 여러 예제들을 직접 해보기로 했습니다. 유튜브에 나오는 대로 gym을 설치하고 환경을 만들고 이제 실행을 하려고 하는데! --------------------------------------------------------------------------- NoSuchDisplayException Traceback (most recent call last) in () 7 8 while not done: ----> 9 env.render() 10 action = random.choice([0, 1]) 11 n_state, reward..
코딩 1일 1문2제! 오늘의 문제는 백준의 팰린드롬수입니다. 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net Solution while True: input_num = input() if input_num == "0": break answer = "no" if input_num == input_num[::-1]: answer = "yes" print(answer) Solution 풀이 0이 입력될때까지 계속 입력받습니다. 먼저 출력할 answer에 no를 넣어둡니다. 입력받은수를 거꾸로 뒤집어도 입력받은 수와 동일해야 팰린드..
Python과 elasticsearch 라이브러리를 활용하여 es_client를 생성하고 elasticsearch에 검색식을 통해 결과를 받는 코드를 작성하였는데 Traceback (most recent call last): File "/usr/local/lib/python3.6/dist-packages/urllib3/connectionpool.py", line 706, in urlopen chunked=chunked, File "/usr/local/lib/python3.6/dist-packages/urllib3/connectionpool.py", line 382, in _make_request self._validate_conn(conn) File "/usr/local/lib/python3.6/dist..
코딩 1일 1문제! 오늘의 문제는 백준의 숫자 카드 2 입니다. 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 첫번째 시도 from collections import Counter input_num = int(input()) numbers = list(map(int, input().split())) input_num2 = int(input()) numbers2 = list(map(int, input().split())) answer = [] cnt = Counter(numbe..
코딩 1일 1문제! 오늘의 문제는 백준의 OX퀴즈 입니다. 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net Solution for _ in range(int(input())): ox_string = list(input()) answer = 0 score = 0 for ox in ox_string: if ox == 'O': score += 1 answer += score elif ox == "X": score = 0 print(answer) SOMJANG/CODINGTEST_PRACTICE ..
코딩 1일 1문제! 오늘의 문제는 백준의 수 찾기 입니다. 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net Solution input_num = int(input()) numbers = list(map(int, input().split())) numbers.sort() input_num2 = int(input()) numbers2 = list(map(int, input().split())) for num in numbers2: left, right = 0, le..
코딩 1일 1문제! 오늘의 문제는 백준의 더하기 사이클입니다. 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net Solution input_num = temp = int(input()) cnt = 0 while True: num1 = temp // 10 num2 = temp % 10 sum_num = num1 + num2 temp = int(str(num2) + str(sum_num % 10)) cnt += 1 if input_num == temp: break print(cnt) Solution ..
코딩 1일 1문제! 오늘의 문제는 백준의 상수 입니다. 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net Solution num1, num2 = input().split(" ") sangsu1, sangsu2 = int(num1[::-1]), int(num2[::-1]) if sangsu1 > sangsu2: print(sangsu1) else: print(sangsu2) Solution 풀이 먼저 두 숫자를 input으로 입력받은 후에 split(" ")를 활용하여 입력받은 숫자를 공백으로 나누어 줍니다. 나눈 숫자를 각..
코딩 1일 1문제 오늘의 문제는 백준의 단어 정렬 입니다. 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net Solution word_count = int(input()) words = [] for i in range(word_count): word = input() if (len(word), word) not in words: words.append((len(word), word)) answer = sorted(words, key=lambda x: (x[0], x[1])) for ans in ans..
Shapely를 활용하여 코드를 작성하고 실행하니 OSError: Could not find lib c or load any of its variants []. 위와 같은 오류가 발생하였습니다. 이후에 geopandas 에서도 AttributeError: 'LGEOS360' object has no attribute 'GEOSBufferWithParams' 위와 같은 오류가 발생하였습니다. 이를 해결하는 방법은 정말 간단합니다. 간단하게 두 개의 라이브러리를 재설치 해주면 됩니다. $ python -m pip uninstall shapely $ python -m pip install shapely $ python -m pip uninstall geopandas $ python -m pip install ..
코딩 1일 1문제! 오늘의 문제는 N개의 최소공배수 입니다. 코딩테스트 연습 - N개의 최소공배수 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배 programmers.co.kr Solution def gcd(a, b): mod = a % b while mod > 0: a = b b = mod mod = a % b return b def solution(arr): answer = 0 arr.sort(reverse=True) for i in range(len(arr)-1): b = gcd(arr[i], arr[i+1]) arr[i+1] ..
코딩 1일 1문제 오늘의 문제는 프로그래머스의 행렬의 곱셈 입니다 코딩테스트 연습 - 행렬의 곱셈 [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] programmers.co.kr Solution import numpy as np def solution(arr1, arr2): answer = [[]] answer = (np.matrix(arr1)*np.matrix(arr2)).tolist() return answer Solution 풀이 numpy의 matrix를 활용하여 각각의 리스트를 행렬로 만들어준 다음 이를 곱한다음 다시 리스트로 변환한 값을 정답으로..
1. 큐(Queue)가 뭐야? 큐는 양쪽이 뚤려있는 기다란 통에서 한쪽은 데이터를 삽입하고 한쪽은 데이터를 삭제하는 자료구조 입니다. 스택이 후입선출 ( LIFO - Last In, First Out ) 구조였다면 큐는 먼저 들어간 데이터가 먼저 나오는 선입선출 ( FIFO - First In, First Out ) 구조입니다. 위의 그림과 같이 데이터의 앞부분을 Front 뒷부분을 Rear라고 부릅니다. 데이터는 Rear로 들어와서 Front로 나갑니다. 큐와 같은 구조는 우리의 일상속에서 많이 볼 수 있습니다. 은행에 가면 번호표를 뽑은 순서대로 창구에서 은행 업무를 보는 것과 프린터의 대기열을 예로 들면 먼저 프린트를 요청한 사람부터 먼저 프린트를 하는 것을 예로 들 수 있습니다. 2. 주요 Met..
코딩 1일 1문제 오늘의 문제는 프로그래머스의 JadenCase 문자열 만들기 입니다. 코딩테스트 연습 - JadenCase 문자열 만들기 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 programmers.co.kr Solution def solution(s): answer = '' words = s.split(' ') for i in range(len(words)): words[i] = words[i].capitalize() answer = ' '.join(words) return answer Solution 풀이 먼저 입력받은..
코딩 1일 1문제! 오늘의 문제는 2020 카카오 인턴십 문제였던 프로그래머스의 키패드 누르기 입니다! 오늘은 날씨가 좋아 해방촌 남산아래라는 카페에서 따사로운 햇살을 맞으며 문제를 풀어보았습니다. 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr Solution def get_distance(keypad, finger_position, next_number): next_number_position =..
Ubuntu에서 wget을 활용하여 파일 다운로드를 잘 받고 있다가 맥북의 터미널에서 wget을 활용하여 파일 다운로드를 받으려고 하니 -bash: wget: command not found 위와 같이 wget 명령어가 없다는 내용만 확인할 수 있었습니다. 이 글에서는 맥북의 터미널에서 wget을 사용할 수 있도록 설치하는 방법을 적어보려합니다. 설치하는 방법은 2가지 입니다. 1. Brew를 통한 설치 맥북 사용자라면 각종 프로그램, 언어, 라이브러리 등을 정말 쉽게 설치할 수 있도록 도와주는 Brew를 많이 사용하실겁니다. 이 wget도 Brew를 통하여 쉽게 설치가 가능합니다. $ brew install wget 위와 같이 단 한줄이면 설치가 가능합니다. 다만! Brew 가 설치되어있어야만 위처럼 ..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 시저 암호 입니다. 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀 programmers.co.kr Solution def solution(s, n): list_s = list(s) for i in range(len(list_s)): if list_s[i] != " ": if list_s[i].islower(): list_s[i] = chr((ord(list_s[i]) - ord('a') + n) % 26 + ord('a')) elif list_s[i].isuppe..
코딩 1일 1문제 오늘의 문제는 프로그래머스의 예산입니다. 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr Solution def solution(d, budget): answer = 0 use_money = 0 sorted_d = sorted(d) for money in sorted_d: use_money += money if budget < use_money: break answer += 1 return answer SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07...
코딩 1일 1문제! 오늘의 문제는 백준의 소트인사이드 입니다. 1427번: 소트인사이드 첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net Solution def sort_inside(num): sorted_num = sorted(list(num), reverse=True) return int("".join(sorted_num)) if __name__ == "__main__": input_num = input() result = sort_inside(input_num) print(result) SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG..
오늘부터 시간이 날때마다 초심으로 돌아가 자료구조와 알고리즘에 대해서 하나씩 차근차근 공부해보려 합니다. 그 시작으로 이번 글에서는 파이썬을 활용하여 자료구조 중에 하나인 스택에 대해서 적어보려합니다. 1. 스택(Stack)이 뭐야? 스택은 데이터의 삽입과 삭제가 데이터의 가장 한쪽 끝에서만 일어나는 자료구조 입니다. 가장 마지막에 삽입된 데이터가 가장 먼저 사용되거나 삭제됩니다. 이를 후입선출 ( LIFO - Last In, First Out )이라고 합니다. 우리 일상 속에서 쉽게 볼 수 있는 것 중에 스택과 같은 것을 이야기 해보자면 프링글스를 예로 들어볼 수 있습니다. 프링글스도 과자통에 가장 마지막으로 담긴 감자칩이 가장 먼저 통에서 나오는 후입선출 구조를 가지고 있기 때문입니다. 알고리즘 문제..
코딩 1일 1문제! 오늘의 문제는 백준의 두 수의 합 입니다. 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net Solution import sys numbers_len = int(sys.stdin.readline()) numbers = sorted(list(map(int, sys.stdin.readline().split()))) sum_num = int(sys.stdin.readline()) left, right = 0, numbers_len -1 cou..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 문자열을 정수로 바꾸기 입니다. 코딩테스트 연습 - 문자열을 정수로 바꾸기 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니 programmers.co.kr Solution def solution(s): answer = 0 operator = "+" if s[0] == "-": s = s[1:] answer = int(s) * -1 elif s[0] == "+": s = s[1:] answer = int(s) else: answer = int(s) return answer SOMJANG/CODIN..
코딩 1일 1문제! 오늘의 문제는 백준의 빠른 A+B입니다. 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net Solution import sys n = int(sys.stdin.readline()) for i in range(n): num1, num2 = map(int, sys.stdin.readline().split()) print(num1+num2) Solution 풀이 이 문제는 입력하는 부분에 input 대신에 sys.stdin.readline()을 활용할 수 있는지 여부를 확인하는 문제 같았습니다. 백준에서 문제를 풀다..
코딩 1일 1문제! 오늘의 문제는 백준의 소수입니다. 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net Solution def get_primary_num_eratos(N): nums = [True] * (N) 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 range(2, N) if nums[i] == True] def solution(A, B): pri..
코딩 1일 1문제 오늘의 문제는 백준의 단어 공부 입니다. 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net Solution from collections import Counter inputStr = list(input().lower()) cnt = Counter(inputStr) cnt_items = cnt.items() cnt_nums = [num[1] for num in cnt_items] max_num = max(cnt_nums) if cnt_nums.count(max_num) != 1: print("?") else: most_comm..