일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Docker
- Baekjoon
- 프로그래머스
- Git
- ubuntu
- leetcode
- SW Expert Academy
- hackerrank
- gs25
- 자연어처리
- 백준
- 코로나19
- 더현대서울 맛집
- AI 경진대회
- 편스토랑 우승상품
- 프로그래머스 파이썬
- Real or Not? NLP with Disaster Tweets
- 데이콘
- 편스토랑
- 캐치카페
- dacon
- PYTHON
- Kaggle
- 맥북
- 파이썬
- 우분투
- github
- programmers
- 금융문자분석경진대회
- ChatGPT
- Today
- Total
목록
반응형
Programming (1169)
솜씨좋은장씨
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일 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..
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()) ..
[AWS] yum을 활용하여 Amazon Linux 2 AMI 에 Python 3.x 설치하기! 1. yum 패키지 업데이트 먼저 yum 패키지를 업데이트 합니다. $ sudo yum update -y 2. Python 3.x / pip3 설치 yum 패키지를 활용하여 python3.x과 pip3를 설치합니다. $ sudo yum install -y python3 pip3 :.. somjang.tistory.com Amazon Linux 2 AMI 서버에 Python을 설치는 했으니 이번에는 개인 PC에 설치되어있는 Pycharm에서 원격 인터프리터를 추가하고 적용해보려합니다. 먼저 Amazon Linux 2 AMI에서 원하는 위치에 가상환경 하나를 생성합니다. Windows PC 일 경우 1) File..
Python에서는 다양한 방법을 통해 암호화 관련 알고리즘을 구현할 수 있습니다. 그 중 cryptography의 Fernet을 활용한 대칭키 암호화 알고리즘을 해보려합니다. 대칭키 암호화 방식 먼저 대칭키 암호화 방식 ( symmetric-key algorithm)은 암호화와 복호화에 같은 암호키를 사용하는 알고리즘 입니다. 이에 암호화를 하는 측과 복호화를 하는 측이 같은 암호키를 공유해야합니다. 공개키 암호화 방식에 비하여 계산 속도가 빠르다는 장점이 있습니다. 공개키 암호화 방식 공개키와 비밀키 두가지의 키가 존재하며 공개키는 누구나 알 수 있지만 그에 대응하는 비밀키는 키의 소유자만이 알 수 있습니다. 공개키를 구성하는 알고리즘은 비대칭 암호라고 부르기도 합니다. 사전에 비밀키를 나눠가지지 않아..
파이썬을 여행하는 히치하이커를 위한 안내서에 나온 PyCrpyto 코드를 실습하다가 다음의 오류를 만나게 되었습니다. 실습 코드 from Crypto.Cipher import AES encryption_suite = AES.new('This is a key123', AES.MODE_CBC, 'This is an IV456') chiper_text = encryption_suite.encrypt("aaaaaaaaaaaaaaaaa") decryption_suite = AES.new('This is a key123', AES.MODE_CBC, 'This is an IV456') plain_text = decryption_suite.decrypt(chiper_text) Error ... 생략 ValueError..
Consider an array of integers, arr = [ arr [0], arr [1], ... , arr [n - 1]]. We define the absolute difference between two elements, a[i] and a[j] (where i != j), to be the absolute value of a[i] - a[j]. Given an array of integers, find and print the minimum absolute difference between any two elements in the array. For example, given the array arr = [ -2, 2, 4 ] we can create 3 pairs of numbers..
Python에서 사용할 수 있는 데이터베이스 라이브러리 중 Sqlite3 의 사용법에 대해서 정리해보고자 합니다. sqlite3 — SQLite 데이터베이스용 DB-API 2.0 인터페이스 — Python 3.8.2 문서 바로 가기 메서드 사용하기 Connection 객체의 비표준 execute(), executemany() 및 executescript() 메서드를 사용하면, (종종 불필요한) Cursor 객체를 명시적으로 만들 필요가 없으므로, 코드를 더 간결하게 작성할 수 있습니다. 대신, Cursor 객체가 묵시적으로 만들어지며 이러한 바로 가기 메서드는 커서 객체를 반환합니다. 이런 방법으로, Connection 객체에 대한 단일 호출만 사용하여 SELECT 문을 docs.python.org Sq..
예전 Ubuntu에서 Python 가상환경을 만들때에는 virtualenv를 활용하여 가상환경을 만들고 사용했었습니다. Windows에서도 virtualenv를 설치하고자 검색 중 venv라는 더 편하고 쉽게 사용할 수 있는 방법을 알게되어 공유합니다. 다음의 방법은 Python3에서만 가능합니다! 1. 가상환경 생성 먼저 가상환경을 생성할 디렉토리(폴더)로 이동한 후 Windows 10 의 경우 # python -m venv ./(생성하고자 하는 가상환경 이름) python -m venv ./myenv Mac OS X / Linux 의 경우 # python3 -m venv ./(생성하고자 하는 가상환경 이름) python3 -m venv ./myenv 위의 명령어를 통해 가상환경을 생성합니다. 2. 가..
1일 1문제 60일차! 오늘의 문제는 프로그래머스의 더 맵게 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫번째 시도 def solution(scoville, K): answer = -1 count = 0 check_flag = False while min(scoville) < K: scoville = sorted(scoville, reverse=True) scoville.append(scoville.pop() + (scoville.pop() * 2) ) if len(scoville) == 1 and scoville[0] < K: check_f..
Given a time in 12-hour AM/PM format, convert it to military (24-hour) time. Note: Midnight is 12:00:00AM on a 12-hour clock, and 00:00:00 on a 24-hour clock. Noon is 12:00:00PM on a 12-hour clock, and 12:00:00 on a 24-hour clock. Function Description Complete the timeConversion function in the editor below. It should return a new string representing the input time in 24 hour format. timeConvers..
You are in charge of the cake for your niece's birthday and have decided the cake will have one candle for each year of her total age. When she blows out the candles, she’ll only be able to blow out the tallest ones. Your task is to find out how many candles she can successfully blow out. For example, if your niece is turning 4 years old, and the cake will have 4 candles of height 4, 4, 1, 3, sh..
[Python] Pycharm에서 unittest 사용해보기! Pycharm에서 unittest를 사용하는 방법에 대해서 정리해보려합니다. Step 3. Test your first Python application - Help | PyCharm Step 3. Test your first Python application Remember, in the first tutoria.. somjang.tistory.com 지난 글에서 테스트를 하면서 오류났던 부분을 디버깅을 통해서 고쳐보려합니다. Testing started at 5:53 오후 ... /Users/donghyunjang/PycharmProjects/MyTestPractice/venv/bin/python "/Applications/PyCharm ..
A queue is an abstract data type that maintains the order in which elements were added to it, allowing the oldest elements to be removed from the front and new elements to be added to the rear. This is called a First-In-First-Out (FIFO) data structure because the first element added to the queue (i.e., the one that has been waiting the longest) is always the first one to be removed. A basic queu..
Pycharm에서 unittest를 사용하는 방법에 대해서 정리해보려합니다. Step 3. Test your first Python application - Help | PyCharm Step 3. Test your first Python application Remember, in the first tutorial you’ve created your first Python application, and in the second tutorial you’ve debugged it. Now it’s time to do some testing. Choosing the test runner If you used nosetest, py.test www.jetbrains.com 위의 문서를 참조하여 작성하였습니다...
Given five positive integers, find the minimum and maximum values that can be calculated by summing exactly four of the five integers. Then print the respective minimum and maximum values as a single line of two space-separated long integers. For example, arr = [ 1, 3, 5, 7, 9 ]. Our minimum sum is 1 + 3 + 5 + 7 = 16 and our maximum sum is 3 + 5 + 7 + 9 = 24. We would print 16 24 Function Descri..
Consider a staircase of size : n = 4 # ## ### #### Observe that its base and height are both equal to n, and the image is drawn using # symbols and spaces. The last line is not preceded by any spaces. Write a program that prints a staircase of size n. Function Description Complete the staircase function in the editor below. It should print a staircase as described above. staircase has the follow..
진행환경 MacBook Pro 13inch 2017 / Mac OSX 10.15.4 문서내에 내용은 미리 코드에 작성한 Docstring을 Sphinx가 reStructuredText로 자동으로 파싱하여 사용하므로 미리 코드에 Docstring을 작성하여야합니다. 1. Sphinx 설치하기 pip install Sphinx 위의 명령어로 설치가 가능합니다. 2. sphinx-quickstart 먼저 sphinx-quickstart를 희망하는 프로젝트로 이동합니다. 저는 잘 정리되어있지는 않지만 이전에 만들었던 공적마스크 재고 알리미를 문서화해보기로 했습니다. sphinx-quickstart 다음 명령어를 사용하여 sphinx-quickstart를 실행합니다. 2-1. root directory 설정하기 ..
추후 블로그를 참고하면서 사용하면 편리할 것 같은 것들을 정리해보았습니다. 먼저 여러개의 숫자를 포함한 리스트를 하나 정의합니다. num_list = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] 이 리스트를 활용하여 몇가지 방법에 대해 적어보려합니다. 1. N보다 큰 숫자만 남기기 만약 N이 3이라고 할때 List Comprehension을 사용하지 않았을경우 new_list = [] for num in num_list: if num > 3: new_list.append(num) 평소에는 위와 같이 작성하게 됩니다. 여기서 List Comprehension을 사용하면 더 짧고 간결하게 코드를 작성할 수 있습니다. new_list = [ num for num in num..
2020년 1월 1일, Python2.7 버전의 공식 지원이 종료되었습니다. 공식지원이 종료가 되어도 Python 2 버전으로 작성된 코드가 실행이되지 않거나 하지는 않지만 추후 Python2에서 보안에 대한 문제가 생기거나 할 시 추가적으로 그부분에 대해 추가적으로 업데이트를 지원받기 어려운 부분도 있을 수도 있고 코딩을하면서 라이브러리를 사용하려고 할 때 Python2 를 지원하지 않아 사용할 수 없을 수도 있습니다. 이에 Python3를 설치하면 Python2로 작성된 코드를 Python3로 바꾸어주는 기본 라이브러리를 제공하고 있습니다. 그것이 바로 2to3입니다. 2to3 - 파이썬 2에서 파이썬 3으로 자동 코드 변환 — Python 3.8.2 문서 2to3 - 파이썬 2에서 파이썬 3으로 자..
1일 1문제 55일차! 오늘의 문제는 백준의 타일 채우기 문제입니다. 2133번: 타일 채우기 문제 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. 입력 첫째 줄에 N(1 ≤ N ≤ 30)이 주어진다. 출력 첫째 줄에 경우의 수를 출력한다. 예제 입력 1 복사 2 예제 출력 1 복사 3 힌트 아래 그림은 3×12 벽을 타일로 채운 예시이다.... www.acmicpc.net Solution inputNum = int(input()) nc = [0] * (inputNum+1) for i in range(1, inputNum+1): if i % 2 == 1 : nc[i] = 0 elif i == 2 : nc[i] = 3 else : temp = 0 for j in range(..
1일 1문제 54일차! 오늘의 문제는 백준의 30입니다. 10610번: 30 문제 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한다. 미르코를 도와 그가 만들고 싶어하는 수를 계산하는 프로그램을 작성하라. 입력 N을 입력받는다. N는 최대 105개의 숫자로 구성되어 있으며, 0으로 시작하지 않는다. 출력 미르코가 만들고 싶어하는 수가 존재한다면 그 수를 출력하라. 그 수가 존재하지 않는 www.acmicpc.net Solution 1 N = input() N = list(N) answer = -1 max_num = sorted(N, reverse=True) m..