일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 맥북
- leetcode
- 더현대서울 맛집
- Docker
- 프로그래머스
- 백준
- Git
- PYTHON
- hackerrank
- Baekjoon
- 데이콘
- gs25
- programmers
- 자연어처리
- ubuntu
- 편스토랑 우승상품
- AI 경진대회
- ChatGPT
- 우분투
- 편스토랑
- Kaggle
- Real or Not? NLP with Disaster Tweets
- 프로그래머스 파이썬
- 코로나19
- github
- 파이썬
- SW Expert Academy
- dacon
- 금융문자분석경진대회
- 캐치카페
- Today
- Total
목록
반응형
Programming (1169)
솜씨좋은장씨
코딩 1일 1문제! 오늘의 문제는 SW Expert Academy 의 자릿수 더하기 입니다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 👨🏻💻 코드 ( Solution ) def add_digits(numbers): return sum(list(map(int, list(numbers)))) if __name__ == "__main__": numbers = input() print(add_digits(numbers)) GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07 1일 1문제 since 2020.02.07. Contribute to SOMJA..
코딩 1일 1문제! 오늘의 문제는 SW Expert Academy의 초심자의 회문 검사입니다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 👨🏻💻 코드 ( Solution ) def palindrome_check(string): return int(string == string[::-1]) if __name__ == "__main__": for idx in range(int(input())): string = input() print(f"#{idx+1} {palindrome_check(string)}") GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.0..
코딩 1일 1문제! 오늘의 문제는 SW Expert Academy의 수도 요금 경쟁 입니다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 👨🏻💻 코드 ( Solution ) def water_bill(pqrsw): answer = 0 bill_for_liter = pqrsw[0] base_bill, base_liter, additional_bill = pqrsw[1], pqrsw[2], pqrsw[3] usage = pqrsw[4] a_bill = bill_for_liter * usage std = usage - base_liter if std > 0: b_bill = std * additional_bil..
코딩 1일 1문제 오늘의 문제는 SW Expert Academy의 중간 평균값 구하기 입니다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 👨🏻💻 코드 ( Solution ) def get_middle_avg(scores): sum_score = sum(scores) - min(scores) - max(scores) avg_score = sum_score / (len(scores) - 2) return round(avg_score) if __name__ == "__main__": for idx in range(int(input())): scores = list(map(int, input().split())..
코딩 1일 1문제! 오늘의 문제는 SW Expert Academy의 조교의 성적 매기기 입니다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 👨🏻💻 코드 ( Solution ) def assistant_grades(student_num, want_num, score_list): grade_list = ["A+", "A0", "A-", "B+", "B0", "B-", "C+", "C0", "C-", "D0"] each_grade_num = student_num // 10 grade_check_dict, rank_dict = {}, {} for idx, score_info in enumerate(score_l..
코딩 1일 1문제! 오늘의 문제는 SW Expert Academy의 패턴 마디의 길이 입니다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 👨🏻💻 코드 ( Solution ) def pattern_length(string): answer = 1 for i in range(1, 11): if string[0:i] == string[i:i+i]: answer = i break return answer if __name__ == "__main__": for i in range(int(input())): string = input() print(f"#{i+1} {pattern_length(string)}") Gi..
코딩 1일 1문제! 오늘의 문제는 SW Expert Academy의 간단한 369게임 입니다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 👨🏻💻 코드 ( Solution ) def convert_num_to_clap(num): check_num1, check_num2, check_num3 = '3', '6', '9' num = str(num) count_num = num.count(check_num1) + num.count(check_num2) + num.count(check_num3) return "-" * count_num if count_num > 0 else num def sam_yook_gu(N..
코딩 1일 1문제! 오늘의 문제는 백준의 일곱 난쟁이 입니다. 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 👨🏻💻 코드 ( Solution ) from itertools import combinations def seven_dwarfs(dwarfs): check_list = [comb for comb in list(combinations(dwarfs, 7)) if sum(comb) == 100] return sorted(check_list[0]) if __name__ == "__main__": dwarfs = [..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 2018 KAKAO BLIND RECUITMENT 1차 비밀지도 입니다. 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 👨🏻💻 문제 풀이 문제를 딱 본 순간 이진수로 변환 한 수들을 비트연산자를 활용하여 계산하고 이를 활용하여 정답을 만들면 되겠다 생각이 들었습니다. 문제에서 설명하는 그림을 보면 맨 오른쪽에 # 이 그려져 있는 부분을 보면 왼쪽 두 그림 속 # 의 위치를 겹친 모습입니다. 그런데 #의 위치는 1의 위치이므로 0과 0일때만 0이고 나머..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 나머지가 1이 되는 수 찾기 입니다. 코딩테스트 연습 - 나머지가 1이 되는 수 찾기 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 입 programmers.co.kr 👨🏻💻 문제 풀이 나머지가 1이 되는 수는 1부터 n까지 반복문을 돌면서 n % x 가 1 이되는 가장 첫번째 x를 찾으면됩니다. for x in range(1, n): if n % x == 1: answer = x break 👨🏻💻 코드 ( Solution ) def solution(n): answer = 0 for x in ..
코딩 1일 1문제! 오늘의 문제는 백준의 16진수 입니다. 1550번: 16진수 첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다. www.acmicpc.net 👨🏻💻 코드 ( Solution ) def convert_16_to_10(num): return int(num, 16) if __name__ == '__main__': num = input() print(convert_16_to_10(num)) GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07 1일 1문제 since 2020.02.07. Contribut..
코딩 1일 1문제! 오늘의 문제는 백준의 10936번 BASE64 디코딩 입니다. 10936번: BASE64 디코딩 첫째 줄에 문자열 S를 BASE64로 인코딩한 결과가 주어진다. S는 알파벳 대문자와 소문자, 그리고 숫자로만 이루어져 있으며, 길이는 최대 50이다. www.acmicpc.net 👨🏻💻 코드 ( Solution ) import base64 def base64_decoding(base64_string): return str(base64.b64decode(base64_string.encode('ascii')))[2:-1] if __name__ == "__main__": base64_string = input() print(base64_decoding(base64_string)) GitHub..
코딩 1일 1문제! 오늘의 문제는 백준의 BASE64 인코딩 입니다. 10935번: BASE64 인코딩 첫째 줄에 문자열 S가 주어진다. S는 알파벳 대문자와 소문자, 그리고 숫자로만 이루어져 있으며, 길이는 최대 50이다. www.acmicpc.net 👨🏻💻 코드 ( Solution ) import base64 def base64_encoding(string): return str(base64.b64encode(string.encode('ascii')))[2:-1] if __name__ == "__main__": string = input() print(base64_encoding(string)) GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02..
최근에 DB 테이블을 구성하고 SqlAlchemy와 Python을 통해 DB와 연동하여 이런 저런 API 작업을 진행하였습니다. 처음으로 DB 테이블을 구성하고 작업하다보니 column 명도 그렇고 데이터 형식도 계속 바꾸게 되어 이미 만들어져 있는 테이블을 계속 수정해야하는 일이 있었습니다. 이 글에서는 DB Table Column을 추가, 수정, 삭제하는 쿼리에 대해 적어보려 합니다. 👨🏻💻 Column 추가 쿼리 ALTER TABLE [column을 추가할 테이블명] ADD COLUMN [추가할 column 명] [데이터 형식] [NULL가능 여부]; 👨🏻💻 Column 데이터 형식 수정 쿼리 ALTER TABLE [수정할 column이 있는 테이블 명] MODIFY COLUMN [데이터 형식 ..
코딩 1일 1문제! 오늘의 문제는 백준의 0 = not cute / 1 = cute 입니다. 10886번: 0 = not cute / 1 = cute 준희는 자기가 팀에서 귀여움을 담당하고 있다고 생각한다. 하지만 연수가 볼 때 그 의견은 뭔가 좀 잘못된 것 같았다. 그렇기에 설문조사를 하여 준희가 귀여운지 아닌지 알아보기로 했다. www.acmicpc.net 👨🏻💻 코드 ( Solution ) from collections import Counter def cute_or_not(opinions): cnt = Counter(opinions).most_common(1) if cnt[0][0] == 0: answer = 'Junhee is not cute!' elif cnt[0][0] == 1: answe..
MariaDB를 사용하는 서비스를 개발하면서 최초에 설정 시 Timezone 설정을 제대로 하지 않아 DB에서 자동으로 업데이트 되는 시간과 실제 시간이 9시간이나 차이나고 있었습니다. 기존 데이터를 다 지울 수는 없고 문제가 되는 column 만 9시간 이후로 업데이트 할 수 없을까 하던 차에 DATE_ADD 쿼리를 알게되어 해당 쿼리만 9시간 이후로 업데이트를 하였고 그 이후로 요청되는 값은 서버에 Timezone을 설정하여 제대로 업데이트 되도록 하였습니다. 이 글에서는 원하는 column의 원하는 row의 datetime만 업데이트 하는 방법에 대해서 정리해보고자 합니다. 👨🏻💻 DATE_ADD MySQL에서 날짜를 더하거나 뺄때 사용하는 함수입니다. DATE_ADD(바꾸고 싶은 컬럼, INTE..
코딩 1일 1문제! 오늘의 문제는 백준의 A+B - 3 입니다. 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 👨🏻💻 코드 ( Solution ) def A_PLUS_B_3(nums): num1, num2 = map(int, nums.split()) return num1 + num2 if __name__ == "__main__": for _ in range(int(input())): num = input() print(A_PLUS_B_3(num)) GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07 1일 1문제 since 2020.02.07. Contribu..
import pymysql user = 'user' password = 'password' db_host = 'localhost' db_port = 3306 table_name = 'test_table' charset = 'utf-8' db = pymysql.connect(host=db_host, port=db_port, user=user, passwd=password, db=table_name, charset=charset, autocommit=True) 오랜만에 위와 같은 방법으로 pymysql을 활용하여 database에 접근하여 저장되어있는 이미지를 다운로드 받기위해 db 연결을 하려고 하니 AttributeError: 'NoneType' object has no attribute 'encodin..
코딩 1일 1문제! 오늘의 문제는 백준의 17배입니다. 5893번: 17배 첫째 줄에 이진수 N이 주어진다. N은 최대 1000자리인 이진수이며, 0이 들어오는 경우는 없다. www.acmicpc.net 👨🏻💻 문제 풀이 number = int(bin_num, 2) 입력받은 이진수를 int를 활용하여 정수로 바꾸어줍니다. seventeen_time_num = number * 17 바꾼 정수에 17을 곱한 값을 bin(seventeen_time_num)[2:] 다시 bin을 통해 이진수로 바꾸어주면 끝! 입니다. 전체 코드는 아래를 참고해주세요. 👨🏻💻 코드 ( Solution ) def seventeen_times(bin_num): number = int(bin_num, 2) seventeen_tim..
코딩 1일 1문제! 오늘의 문제는 백준의 과자 입니다. 10156번: 과자 첫 번째 줄에는 과자 한 개의 가격 K, 사려고 하는 과자의 개수 N, 현재 동수가 가진 돈 M이 각각 공백을 사이에 두고 주어진다. 단, K, N은 1,000 이하의 양의 정수이고, M은 10만 이하의 양의 정수이 www.acmicpc.net 👨🏻💻 문제 풀이 이 문제는 내가 가지고 있는 돈으로 과자를 사려할 때 필요한 금액을 구하는 문제입니다. K, N, M = map(int, input().split()) 과자 한 개의 가격이 K / 사려고 하는 과자의 개수가 N / 현재 가진 돈의 액수를 M 으로 입력 받습니다. more_money = K * N - M 내가 더 필요한 금액은 과자 한 개의 가격 K x 사려고 하는 과자의..
코딩 1일 1문제! 오늘의 문제는 백준 10951번 A+B - 4 입니다. 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 👨🏻💻 문제 풀이 입력 부분에서 EOFError를 사용하여 마지막 입력인지 아닌지를 판단하여 풀면됩니다. 👨🏻💻 코드 ( Solution ) def a_plus_b_4(num1, num2): return num1 + num2 if __name__ == "__main__": while True: try: num1, num2 = map(int, input().split()) print(a_plus_b_4(num1, num2)) except EOFError: break GitHub - SOMJANG/..
👨🏻💻 코드 ( Solution ) import sys def make_answer(answer, check_dict, temp): try: check = check_dict[temp] temp = "" answer.append("1") except: answer.append("0") temp = "" return answer, temp def number_card(my_numbers, check_numbers): answer = [] check_dict = {} temp = "" for num in my_numbers: if num.isdigit() or num == "-": temp += num elif num == " ": check_dict[temp] = 0 temp = "" check_dict..
코딩 1일 1문제! 오늘의 문제는 삼성 SW Expert Academy의 알파벳을 숫자로 변환 입니다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 👨🏻💻 문제 풀이 알파벳을 쭉 입력받으면 이를 숫자로 변환하여 공백을 구분자로 이어붙인 문자열을 만드는 문제입니다. alphabets = input() 먼저 변환할 알파벳을 입력받습니다. converted_numbers = [] 알파벳을 숫자로 변환한 값을 담을 리스트를 하나 만들어줍니다. for alphabet in alphabets: converted_numbers.append(str(ord(alphabet) - ord('A') + 1)) 입력받은 알파벳문..
코딩 1일 1문제! 오늘의 문제는 삼성 SW Expert Academy 2070번 큰 놈, 작은 놈, 같은 놈 입니다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 👨🏻💻 코드 ( Solution ) def big_same_small(num1, num2): answer = "=" if num1 < num2: answer = "" return answer if __name__ == "__main__": for i in range(int(input())): num1, num2 = map(int, input().split()) answer = big_same_small(num1, num2) print(f"#{i..
코딩 1일 1문제! 오늘의 문제는! 백준의 10부제입니다. 10797번: 10부제 서울시는 6월 1일부터 교통 혼잡을 막기 위해서 자동차 10부제를 시행한다. 자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금지하는 www.acmicpc.net 👨🏻💻 문제 풀이 자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금지하는 제도입니다. violate_num = input() car_numbers = input() 예제 입력을 보면 먼저 날짜의 일의 자리숫자가 입력되고 그 다음 줄에 자동차 번호를 공백을 기준으로 이어 붙은 형태의 문자열로 입력 받습니다. answer = 0 car_numbers ..
코딩 1일 1문제! 오늘의 문제는 백준의 평균 점수 입니다. 10039번: 평균 점수 입력은 총 5줄로 이루어져 있고, 원섭이의 점수, 세희의 점수, 상근이의 점수, 숭이의 점수, 강수의 점수가 순서대로 주어진다. 점수는 모두 0점 이상, 100점 이하인 5의 배수이다. 따라서, 평균 점 www.acmicpc.net 👨🏻💻 문제 풀이 5명의 점수를 입력 받으면 5명 점수의 평균을 구하는 문제인데 특이한 점은 보충수업을 받게 되면 40점 미만의 점수는 무조건 40점으로 변경된다는 점을 고려하여 풀면되는 문제입니다. scores = [] for _ in range(5): score = int(input()) scores.append(score) 먼저 5명의 점수를 입력 받습니다. sum_score = 0 ..
코딩 1일 1문제! 오늘의 문제는 백준 15719번 중복된 숫자입니다. 2달 전 부터 시도하였다가 메모리초과, 시간초과, 런타임에러에 시달리다 오늘 드디어 풀게 된 문제입니다. 15719번: 중복된 숫자 1부터 N - 1까지의 정수가 하나씩 정렬되지 않은 채로 저장되어 있는 어떤 수열 A가 있다. 수열 A에 임의의 정수 M(1 ≤ M ≤ N – 1)을 넣어 크기가 N인 수열로 만들었을 때, 임의의 정수 M을 찾는 프 www.acmicpc.net 👨🏻💻 문제 풀이 처음에는 엄청 쉽다고 생각한 문제여서 시도한 문제인데 첫째 줄에 주어지는 수열의 크기 N(2 ≤ N ≤ 10,000,000)의 최대 크기인 천만은 생각보다 큰 숫자였습니다. split을 하여 리스트로 만들면 메모리 초과 그냥 반복문을 돌면서 값..
코딩 1일 1문제! 오늘의 문제는 백준의 팬그램입니다. 5704번: 팬그램 입력은 여러 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 많아야 200글자로 이루어져 있는 문장이다. 단어는 공백 하나로 구분되어 있다. 또, 단어는 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 👨🏻💻 문제 풀이 a부터 z까지 모든 알파벳을 활용하여 만들어진 문자열을 팬그램 문자열이라고 합니다. 이 문제는 문자열을 하나 입력받으면 팬그램인지 아닌지를 파악하는 문제입니다. while True: string = input() if string == "*": break 예제입력을 활용하여 입력하는 부분을 먼저 작성합니다. "*" 이 입력될때까지 계속 입력 받도록 while 반복문 안에 넣어줍니다. answer..
코딩 1일 1문제! 오늘의 문제는 백준의 배열 합치기 입니다. 11728번: 배열 합치기 첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거 www.acmicpc.net 👨🏻💻 문제 풀이 먼저 예제 입력을 보고 입력값을 받는 코드를 작성합니다. _ = input() array1 = input() array2 = input() 입력 받는 배열의 값들이 공백을 사이에두고 연결된 형태의 문자열이므로 array1 = array1.split() array2 = array2.split() 배열로 바꾸기 위해서는 split을 활용하여 공백을 기..
코딩 1일 1문제! 오늘의 문제는 백준의 블랙잭 입니다. 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 👨🏻💻 문제 풀이 블랙잭은 3개의 카드 숫자의 합을 최대한 21에 가까운 숫자로 만드는 사람이 이기는 게임입니다. 그런데 이 문제에서의 블랙잭 게임은 새로운 룰을 만들어서 진행합니다. 3개의 카드 숫자의 합을 보는 것은 맞는데 그 수를 21에 가까운 숫자로 만드는게 아니라 입력받은 M이라는 숫자에 최대한 가까우면서도 M을 넘지 않는 수를 만드는게 목표입니다. combina..