일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AI 경진대회
- ChatGPT
- 우분투
- PYTHON
- 프로그래머스 파이썬
- 파이썬
- 코로나19
- SW Expert Academy
- Kaggle
- 프로그래머스
- Real or Not? NLP with Disaster Tweets
- leetcode
- github
- Docker
- gs25
- Baekjoon
- 백준
- 편스토랑
- 자연어처리
- 금융문자분석경진대회
- dacon
- hackerrank
- 더현대서울 맛집
- 캐치카페
- 데이콘
- programmers
- Git
- 맥북
- 편스토랑 우승상품
- ubuntu
- Today
- Total
목록
반응형
Programming (1169)
솜씨좋은장씨
코딩 1일 1문제! 오늘의 문제는 백준의 카이사르 암호 입니다. 5598번: 카이사르 암호 가이우스 율리우스 카이사르(Gaius Julius Caesar)는 고대 로마 군인이자 정치가였다. 카이사르는 비밀스럽게 편지를 쓸 때, 'A'를 'D로', 'B'를 'E'로, 'C'를 'F'로... 이런 식으로 알파벳 문자를 3개씩 건 www.acmicpc.net Solution def caesar_cipher(string): answer = [] for char in string: if ord(char) > ord('C'): temp = chr(ord(char) - 3) elif ord(char) < ord('D'): temp = chr(ord('Z') - ord('C') + ord(char)) answer.ap..
코딩 1일 1문제! 오늘의 문제는 백준의 이진수 연산 입니다. 12813번: 이진수 연산 총 100,000 비트로 이루어진 이진수 A와 B가 주어진다. 이때, A & B, A | B, A ^ B, ~A, ~B를 한 값을 출력하는 프로그램을 작성하시오. www.acmicpc.net Solution def calculate_binary(A, B): MASK = pow(2, 100000) - 1 print(bin(A & B)[2:].zfill(100000)) print(bin(A | B)[2:].zfill(100000)) print(bin(A ^ B)[2:].zfill(100000)) print(bin(A ^ MASK)[2:].zfill(100000)) print(bin(B ^ MASK)[2:].zfill(1..
코딩 1일 1문제! 오늘의 문제는 백준의 로또 입니다. 6603번: 로또 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로 www.acmicpc.net Solution from itertools import combinations def lotto(numbers): numbers = numbers.split() num, numbers = numbers[0], numbers[1:] lotto_comb = list(combinations(numbers, 6)) lotto_comb = [" ".join(list(map(str, sorted(list(m..
개발을 하다가 파일을 읽고 쓰거나 어떠한 문자열을 읽으려고 할 때 UnicodeDecodeError: 'cp949' codec can't decode byte 0xde in position 361: illegal multibyte sequence 위와 같이 UnicodeDecodeError 가 발생하며 어떠한 형식은 can't decode byte ~~~ 즉 디코딩을 할 수 없다는 오류를 종종 만나게 됩니다. 이 글에서는 byte 뒤의 내용에 따라 어떠한 형식으로 인코딩 하라고 바꾸어주면 되는지에 대해서 하나씩 찾을 때 마다 업데이트를 할 예정입니다. 구분 코드 인코딩 형식 비고 1 0xe2 ISO-8859-1 읽어주셔서 감사합니다.
코딩 1일 1문제! 오늘의 문제는 백준의 가장 많은 글자 입니다. 1371번: 가장 많은 글자 첫째 줄부터 글의 문장이 주어진다. 글은 최대 5000글자로 구성되어 있고, 공백, 알파벳 소문자, 엔터로만 이루어져 있다. 그리고 적어도 하나의 알파벳이 있다. www.acmicpc.net Solution import sys def most_common_word(input_string): count_dict = {} result = "" alphabet_word = "abcdefghijklmnopqrstuvwxyz" for alphabet in alphabet_word: count_dict[alphabet] = input_string.count(alphabet) items = sorted(count_dict...
코딩 1일 1문제! 오늘의 문제는 백준의 별 찍기 2 입니다. 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net Solution def print_star_2(N): for i in range(N): print(f"{' ' * (N - i - 1)}{'*' * (i + 1)}") if __name__ == "__main__": N = int(input()) print_star_2(N) Solution 풀이 f-string을 활용하여 문제를 풀었습니다. 각 행마다 공백 N - i - 1 개 + * i + 1 개 출력하도록 합니다. GitHub - SOMJ..
코딩 1일 1문제! 오늘의 문제는 백준의 치킨 배달 입니다. 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net Solution from itertools import combinations def find_home_chicken(city_map): home, chicken = [], [] for i, row in enumerate(city_map): for j, col in enumerate(row): if row[j] == 1: home.append((i, j)) elif row[j] ==..
코딩 1일 1문제! 오늘의 문제는 백준의 큰 수 A+B입니다. 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net Solution def big_sum(num1, num2): return num1 + num2 if __name__ == "__main__": num1, num2 = map(int, input().split()) print(big_sum(num1, num2)) Solution 풀이 Python에서는 큰 수도 그냥 더하여 int 형태로 표현할 수 있으므로 입력 받은 두수를 더한 값을 출력하면 됩니다. GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07 1..
코딩 1일 1문제! 오늘의 문제는 백준의 ATM 입니다. 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net Solution def ATM(people): people.sort() best_order = [] for i in range(len(people)): best_order.append(sum(people[:i+1])) return sum(best_order) if __name__ == "__main__": people_num = int(input()) people = list(map(int, input().split())) print(A..
코딩 1일 1문제! 오늘의 문제는 프로그래머스 2021년 웹 백엔드 개발자 상반기 Dev-Matching 문제 였던 로또의 최고 순위와 최저 순위 입니다. 이번주 로또 당첨을 기원하며! 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr Solution def get_lotto_rank(match_num): rank_dict = {6: 1, 5: 2, 4: 3, 3: 4, 2: 5, 1: 6, 0: 6} return rank_dict[match_num] def sol..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 위클리 챌린지 2주차 문제인 상호 평가 입니다. 코딩테스트 연습 - 2주차 [[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD" programmers.co.kr Solution def get_person_grade(score): grade = "F" if score >= 90: grade = "A" elif 80
코딩 1일 1문제! 오늘의 문제는 백준의 좋은 단어입니다. 2857번: FBI 5개 줄에 요원의 첩보원명이 주어진다. 첩보원명은 알파벳 대문자, 숫자 0~9, 대시 (-)로만 이루어져 있으며, 최대 10글자이다. www.acmicpc.net Solution def well_word(word_list): well_cnt = 0 for word in word_list: my_stack = [] for char in word: if my_stack == []: my_stack.append(char) elif my_stack != []: if my_stack[-1] == char: my_stack.pop() else: my_stack.append(char) if my_stack == []: well_cnt +=..
코딩 1일 1문제! 오늘의 문제는 백준의 FBI입니다. 2857번: FBI 5개 줄에 요원의 첩보원명이 주어진다. 첩보원명은 알파벳 대문자, 숫자 0~9, 대시 (-)로만 이루어져 있으며, 최대 10글자이다. www.acmicpc.net Solution def find_fbi_agent(agent_list): result = "HE GOT AWAY!" fbi_agent_ids = [] for agent_id, agent in enumerate(agent_list): if agent.find("FBI") != -1: fbi_agent_ids.append(str(agent_id + 1)) if fbi_agent_ids != []: result = " ".join(fbi_agent_ids) return res..
FastAPI로 API를 개발하면서 from fastapi import APIRouter router = APIRouter(tags=["template crud"]) 위처럼 FastAPI의 APIRouter를 활용하여 개발한 후에 호기롭게 실행하였는데...! router = APIRouter(tags=["template crud"]) TypeError: __init__() got an unexpected keyword argument 'tags' 위처럼 APIRouter는 tags라는 항목을 가지고 있지 않다는 오류가 발생하였습니다. 원인 원인은 내 컴퓨터 또는 서버에 설치되어있는 FastAPI의 버전이 낮아 발생하는 오류입니다. 해결방법 pip를 최신버전으로 업데이트 한 이후에 $ python3 -m ..
코딩 1일 1문제! 오늘의 문제는 백준의 그대로 출력하기 2 입니다. 11719번: 그대로 출력하기 2 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 www.acmicpc.net Solution def just_print(): while True: try: string2 = input() print(string2) except: break if __name__ == "__main__": just_print() GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07 1일 1문제 since 2020..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 위클리 챌린지 1주차 문제인 부족한 금액 계산하기 입니다. 드디어 길고 길었던, 2년같이 느껴졌던 2주간의 자가격리가 끝나 오늘부터는 본격적으로 다시 블로그를 운영해보려합니다. 코딩테스트 연습 - 1주차 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이 programmers.co.kr Solution def solution(price, money, count): answer = -1 total_price = 0 for cnt in range(1, count+1): total_price += price * cnt..
코딩 1일 1문제! 드디어 2주간 셀프 자가격리의 마지막날! ㅠㅠㅠㅠ 오늘까지 좀 치트키를... 백준의 A+B - 6 입니다. 10953번: A+B - 6 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net Solution def A_PLUS_B_6(number_list): return [sum(numbers) for numbers in number_list] if __name__ == "__main__": number_list= [] for _ in range(int(input())): num1, num2 = map(int, input().split(",")) number_list.append((num1, num2)) result = A_PLUS_B..
코딩 1일 1문제! 오늘의 문제는 백준의 줄번호 입니다. 4470번: 줄번호 텍스트에서 줄을 입력받은 뒤, 줄 번호를 출력하는 프로그램을 작성하시오. www.acmicpc.net Solution def line_number(string_list): for idx, string in enumerate(string_list): print(f"{idx+1}. {string}") if __name__ == "__main__": string_list = [] for _ in range(int(input())): string = input() string_list.append(string) line_number(string_list) GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 ..
코딩 1일 1문제! 오늘의 문제는 백준의 NN입니다. 11944번: NN 첫 번째 줄에는 N, M이 주어진다. (1 ≤ N, M ≤ 2016) www.acmicpc.net Solution def NN(N, M): return (N * int(N))[:int(M)] if __name__ == "__main__": N, M = input().split() print(NN(N, M)) GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07 1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub. github.com
코딩 1일 1문제! 오늘의 문제는 백준의 단어 뒤집기 2 입니다. 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net Solution def word_flipping(string): results = [] temp, words = "", "" tag_flag, word_flag = False, True for char in string: if char == "": tag_flag = False word_flag = True results.append(temp) temp = "" if..
코딩 1일 1문제! 오늘의 문제는 백준의 잃어버린 괄호 입니다. 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net Solution def lost_bracket(expression): split_minus = expression.split('-') temp = [] for exp in split_minus: sum_num = 0 for num in exp.split('+'): sum_num += int(num) temp.append(sum_num) result = temp[0] for num in temp..
코로나 관련하여 재택 및 격리로 인하여 너무 슬픈 일요일 오늘의 문제는 백준의 대충 더해입니다. 으아아아 8949번: 대충 더해 두 정수 A, B가 공백을 두고 주어진다. A와 B는 1과 1,000,000 사이의 정수이다. www.acmicpc.net Solution def daechung_sum(num1, num2): result = [] num1_len, num2_len = len(num1), len(num2) if num1_len > num2_len: num2 = '0' * (num1_len - num2_len) + num2 else: num1 = '0' * (num2_len - num1_len) + num1 max_len = max([num1_len, num2_len]) for i in range..
코딩 1일 1문제! 오늘의 문제는 백준의 과제 안 내신 분..? 입니다. 5597번: 과제 안 내신 분..? X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, www.acmicpc.net Solution def no_report(numbers): set_numbers = list(set(range(1, 31)) - set(numbers)) set_numbers.sort() return set_numbers[0], set_numbers[1] if __name__ == "__main__": numbers = [] for _ in range(28): number = ..
코딩 1일 1문제 오늘의 문제는 최소, 최대 입니다. 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net Solution def min_max(string): number_list = list(map(int, string.split())) return min(number_list), max(number_list) if __name__ == "__main__": _ = input() numbers = input() min_num, max_num = min_max(numbers) p..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 숫자 문자열과 영단어 입니다. 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr Solution def solution(string): answer = "" word_to_num = { "zero": "0", "one": "1", "two": "2", "three": "3", "four": "4", "five": "5", "six": "6", "seven": "7", "eight": "8", "nine": "9" } temp = "" for char i..
코딩 1일 1문제! 오늘의 문제는 백준의 학점 계산입니다. 2754번: 학점계산 어떤 사람의 C언어 성적이 주어졌을 때, 평점은 몇 점인지 출력하는 프로그램을 작성하시오. A+: 4.3, A0: 4.0, A-: 3.7 B+: 3.3, B0: 3.0, B-: 2.7 C+: 2.3, C0: 2.0, C-: 1.7 D+: 1.3, D0: 1.0, D-: 0.7 F: 0.0 www.acmicpc.net Solution def credit(string): credit_dict = {"A+": 4.3, "A0": 4.0, "A-": 3.7, "B+": 3.3, "B0": 3.0, "B-": 2.7, "C+": 2.3, "C0": 2.0, "C-": 1.7, "D+": 1.3, "D0": 1.0, "D-": 0.7,..
코딩 1일 1문제! 재택근무로 인하여 주말같은 오늘의 문제는 !밀비 급일 입니다. 11365번: !밀비 급일 당신은 길을 가다가 이상한 쪽지를 발견했다. 그 쪽지에는 암호가 적혀 있었는데, 똑똑한 당신은 암호가 뒤집으면 해독된다는 것을 발견했다. 이 암호를 해독하는 프로그램을 작성하시오. www.acmicpc.net Solution def top_secret(string): split_str = string.split()[::-1] split_str = [string[::-1] for string in split_str] return " ".join(split_str) if __name__ == "__main__": while True: string = input() if string == "END": ..
코딩 1일 1문제! 오늘의 문제는 백준의 너의 이름은 몇 점이니? 입니다. 15813번: 너의 이름은 몇 점이니? 첫 번째 줄에 이름의 길이가 주어진다. (단, 길이는 100자 이하이다) 두 번째 줄에 이름이 띄어쓰기 없이 대문자로 주어진다. www.acmicpc.net Solution def name_score(name): score = 0 A = ord('A') - 1 for char in name: score += ord(char) - A return score if __name__ == "__main__": _ = input() name = input() print(name_score(name)) GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020...
코딩 1일 1문제! 오늘의 문제는 백준의 첼시를 도와줘! 입니다. 11098번: 첼시를 도와줘! 구단이 성적을 내지 못한다면 답은 새 선수 영입뿐이다. 이것은 오늘날 유럽 리그에서 가장 흔한 전략이고, 노르웨이의 로젠버그 팀은 이러한 전략이 성공한 대표적 예시다. 그들은 많은 스카 www.acmicpc.net Solution def helf_Chelsea(player_list): player_infos = [] for player_info in player_list: transfer_fee, player_name = player_info.split() player_infos.append((int(transfer_fee), player_name)) return sorted(player_infos, key=..
코딩 1일 1문제! 오늘의 문제는 백준의 니모를 찾아서 입니다. 10173번: 니모를 찾아서 여러 문장이 각 줄로 입력되며, 입력의 마지막에는 "EOI" 입력된다. 한 줄은 최대 80개의 글자로 이루어져 있다. www.acmicpc.net Solution def find_nemo(ocean): is_find = "Missing" if ocean.lower().find("nemo") != -1: is_find = "Found" return is_find if __name__ == "__main__": while True: ocean = input() if ocean == "EOI": break print(find_nemo(ocean)) GitHub - SOMJANG/CODINGTEST_PRACTICE: 1..