일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Baekjoon
- 캐치카페
- PYTHON
- gs25
- 코로나19
- dacon
- 프로그래머스 파이썬
- 우분투
- AI 경진대회
- 맥북
- 프로그래머스
- Git
- 편스토랑
- 백준
- 자연어처리
- 금융문자분석경진대회
- ubuntu
- SW Expert Academy
- Real or Not? NLP with Disaster Tweets
- Kaggle
- leetcode
- hackerrank
- Docker
- 편스토랑 우승상품
- 파이썬
- programmers
- ChatGPT
- 데이콘
- Today
- Total
목록
반응형
2021/05 (45)
솜씨좋은장씨
코딩 1일 1문제! 오늘의 문제는 설탕배달 입니다. 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net Solution sugar = int(input()) delivery = 0 while sugar >= 0 : if sugar % 5 == 0 : delivery = delivery + (sugar // 5) print(delivery) break sugar = sugar - 3 delivery = delivery + 1 else : print(-1) SOMJANG/CODINGTEST_PRACTICE 1일 1문제 sinc..
코딩 1일 1문제! 오늘의 문제는 사분면 고르기 입니다. 14681번: 사분면 고르기 점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다. www.acmicpc.net Solution def get_quadrant_info(x, y): info = 0 if x > 0 and y > 0: info = 1 elif x 0: info = 2 elif x 0 and y < 0: info = 4 return info if __name__ == "__main__": x = int(input()) y = int(input()) print(get_quadrant_info(x, y)) SOMJANG/CODINGTEST_P..
코딩 1일 1문제! 오늘의 문제는 프로그래머스 약수의 개수와 덧셈 입니다. 코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr Solution def solution(left, right): answer = 0 for num in range(left, right + 1): operator = 1 divisor_num = len([n for n in range(1, num+1) if num % n == 0]) if divisor_num % 2 == 1: opera..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 소수찾기 입니다. 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr Solution def solution(N): nums = [True] * (N + 1) for i in range(2, len(nums) // 2 + 1): if nums[i]: for j in range(i+i, N + 1, i): nums[j] = False return len([i for i in range(2, N + 1) if nums[i]]) Solution ..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 핸드폰 번호 가리기 입니다. 코딩테스트 연습 - 핸드폰 번호 가리기 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자 programmers.co.kr Solution def solution(phone_number): answer = '' phone_number_len = len(phone_number) answer = '*' * (phone_number_len - 4) answer += phone_number[-4:] return answer Solution 풀이 먼저 전화번호의 길이를 구합니다. 뒷자리 4개를..
코딩 1일 1문제! 오늘의 문제는 백준의 한수입니다. 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net Solution def get_hansu_num(N): if N < 100: hansu = N else: hansu = 99 for i in range(100, N+1): num_list = list(map(int, str(i))) if num_list[0] - num_list[1] == num_list[1] - num_list[2]: hansu += 1 return hansu if __name__ == "__m..
FROM ubuntu:16.04 RUN apt-get update && \ apt-get install -y --no-install-recommends apt-utils && \ apt-get -y install software-properties-common && \ add-apt-repository -y ppa:deadsnakes/ppa && \ apt-get update --fix-missing && \ apt-get -y install wget && \ apt-get -y install curl && \ apt-get -y install bzip2 && \ apt-get -y install libpq-dev && \ apt-get -y install libssl-dev && \ apt-get -y..
맥북을 사용하다보면! 나는 남은 저장공간이 부족한데! 위와 같이 사용하고 있는 저장공간에 기타 항목이 엄청 크게 표시되어있지만 어디에서 어떻게 사용하고 있는지를 확인하기 어려울 때가 있습니다. 이럴때 추천하는! 맥북 앱이 하나 있습니다. 유료이지만! 제가 사용해본 많은 앱 중에서 이만큼 좋은 앱은 찾지 못하여 추천 하고자 합니다. 가격은 10.99달러! 설치는 아주아주아주아주 간단합니다. 위처럼 App Store에서 Daisy Disk를 검색하고 10.99달러를 결제하고! 설치를 하면 끝! 입니다. 설치가 끝나면 저렇게 동그란 아이콘이 하나 생깁니다. 실행하면 위와 같은 화면이 나옵니다. 현재 인식하고 있는 저장소와 사용 가능한 용량이 얼마가 남았는지 나옵니다. 여기서 Scan 버튼을 누르면! 위와 같이..
오랜만에 brew를 활용하여 맥북에 pypy를 설치하고자 먼저 $ brew update 위의 명령어를 통하여 업데이트를 진행하려고 하였으나! (base) SOMJANGui-MacBookPro:~ donghyunjang$ brew update Error: homebrew-core is a shallow clone. homebrew-cask is a shallow clone. To `brew update`, first run: git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshall..
[Git] .gitignore 을 활용하여 필요없는 파일 제외하고 업로드하기 이전에 Git으로 여러사람들과 협업을 할때 프로젝트에 참여했던 모두가 venv 가상환경 파일들과 __pycache__파일들까지 모두 GitHub에 push를 하려고하니 다른 사람의 __pycache__ 와 push를 하려는 사람의 _ somjang.tistory.com GitHub에 파일을 push할 때 gitignore를 활용하여 필요없는 파일은 제외하고 했어야했는데 깜빡하고 gitignore에 추가하지않고 push했거나 경로 설정이 잘못되어 제대로 적용이 되지 않았거나 모든 소스코드의 최상단 레벨에서 gitignore를 만들고 git 명령어를 실행하지 않고 다른 곳에서 실행하여 업로드를 하려고 하지 않았던 파일들이 주루룩 딸..
문제를 탐색하다가 귀여운 문제가 있어서 풀어봤습니다. 바로 백준의 고양이 입니다. 10171번: 고양이 아래 예제와 같이 고양이를 출력하시오. www.acmicpc.net Solution cat = """\ /\ ) ( ') ( / ) \(__)|""" print(cat) Solution 풀이 따옴표 세 개로 여러 라인을 한번에 표현하도록 하였고 출력해야하는 고양이를 만든 다음에 출력하도록 했습니다. 얼굴 맨위 귀 부분에 \ 다음 space를 추가해주면 귀여운 고양이가 나옵니다. SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an accou..
코딩 1일 1문제! 오늘의 문제는 백준의 평균입니다. 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net Solution import sys input_num = int(input()) scores = list(map(int, input().split())) max_score = max(scores) new_scores = [ score / (max_score * 100) for score in scores ] print(sum(new_scores) / input_num * 10000) Solution 풀이..
pypy를 설치하기 위해서 다운 받은 tar.bz2 파일의 압축을 풀기 위해서 $ tar xvf pypy3.7-v7.3.4-linux64.tar.bz2 위처럼 tar 명령어를 입력하니 tar (child): cannot run bzip2: No such file or directory tar (child): trying lbzip2 tar (child): lbzip2: Cannot exec: No such file or directory tar (child): Error is not recoverable: exiting now tar: Child returned status 2 tar: Error is not recoverable: exiting now 위와 같은 오류가 발생했습니다. 원인은 bzip2 ..
코딩 1일 1문제! 오늘의 문제는 백준의 숫자의 개수입니다. 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net Solution 1 num1 = int(input()) num2 = int(input()) num3 = int(input()) x_num = list(str(num1 * num2 * num3)) answer = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] for num in x_num: answer[int(num)] += 1 for ans in answer: print(ans) Solution 풀이 먼저 숫자 세개를 입력 받습니다. 그 다음 세개..
코딩 1일 1문제! 오늘의 문제는 백준의 통계학 입니다. 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net Solution from collections import Counter numbers = [] for _ in range(int(input())): num = int(input()) numbers.append(num) numbers.sort() cnt = Counter(numbers).most_common(2) print(round(sum(numbers) / len(numbers))) print(numbers[len(..
최근에 일을 하면서 split( ) 과 split(" ") 의 결과가 다르다는 것을 어렴풋이 들은 기억이 있었습니다. 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 www.acmicpc.net 그러다 위의 문제를 풀다가! split(" ")을 사용하여 계속 실패하다가 split( )으로 바꾸어 푸니 성공하였습니다. 이 참에 두 함수의 차이가 무엇인지 알아보았습니다. string = "word1 word2 word3 word4 " 예를 들어 위와 같이 word1 다음공백 1개, word2 다음 공백 2개, word3 다음 공백 3개,..
코딩 1일 1문제! 오늘의 문제는 백준의 단어의 개수 입니다. 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 www.acmicpc.net 첫번째 시도 string = input() print(len(string.split(" "))) 이렇게 쉬운문제가 왜...? 왜....? 정답비율이 28.638% 이지? 라는 생각으로 호기롭게 제출을 했으나...! 롸....?...? 왜 틀렸지...? 그러다 문제를 다시보니 문자열의 앞과 뒤에 공백이 있을 수도 있다! 이게 적혀있었습니다. 두번째 시도 string = input() print(le..
코딩 1일 1문제! 오늘의 문제는 코드업의 제품 생산량 순위 구하기 입니다. 제품 생산량 순위 구하기 1) 입력받은 순서대로 각 회사의 순위를 한 줄에 하나씩 출력한다. 2) 출력되는 순서는 입력되는 회사의 순서와 동일하도록 출력한다. codeup.kr Solution sales_rates = [] input_num = int(input()) for i in range(input_num): sales_rate = int(input()) sales_rates.append(sales_rate) sorted_rates = sorted(sales_rates, reverse=True) rank_dict = dict() for i, rate in enumerate(sorted_rates): if rate not i..
코딩 1일 1문제! 오늘의 문제는 코드업의 대표 문자열 입니다. 대표 문자열 여러 개의 숫자 데이터를 대표할 수 있는 하나의 값을 대푯값이라고 한다. 예를 들어, 평균, 중앙값, 최빈값 등이 대푯값에 해당한다. 숫자 읽기보다는 글 읽기를 좋아하는 수빈이는 숫자 데이터 codeup.kr Solution from collections import Counter string = list(input()) cnt = Counter(string).most_common(2) sorted_items = sorted(cnt, key=lambda x: (-x[1], x[0])) print(sorted_items[0][0]) Solution 풀이 먼저 문자열을 입력받고 이를 list로 만들어줍니다. 그 다음 collecti..
코딩 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..