일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자연어처리
- SW Expert Academy
- programmers
- 데이콘
- hackerrank
- ChatGPT
- leetcode
- 프로그래머스
- 프로그래머스 파이썬
- 편스토랑
- Git
- github
- Baekjoon
- 캐치카페
- dacon
- ubuntu
- Docker
- Kaggle
- 편스토랑 우승상품
- 코로나19
- 맥북
- 더현대서울 맛집
- Real or Not? NLP with Disaster Tweets
- 파이썬
- 백준
- gs25
- 금융문자분석경진대회
- AI 경진대회
- PYTHON
- 우분투
- Today
- Total
목록
반응형
PYTHON (460)
솜씨좋은장씨
코딩 1일 1문제! 오늘의 문제는 퇴근하기 전 제 마음과 같았던 아! 입니다. 제목에 끌려 풀었는데 아주 쉬웠던 문제였습니다. 4999번: 아! 입력은 두 줄로 이루어져 있다. 첫째 줄은 재환이가 가장 길게 낼 수 있는 "aaah"이다. 둘째 줄은 의사가 듣기를 원하는 "aah"이다. 두 문자열은 모두 a와 h로만 이루어져 있다. a의 개수는 0보다 크거 www.acmicpc.net Solution def is_go_hospital(doctor, justin_bieber): is_go = "no" if len(doctor)
코딩 1일 1문제! 오늘의 문제는 백준의 연속구간 입니다. 2495번: 연속구간 여덟 자리의 양의 정수가 주어질 때, 그 안에서 연속하여 같은 숫자가 나오는 것이 없으면 1을 출력하고, 있으면 같은 숫자가 연속해서 나오는 구간 중 가장 긴 것의 길이를 출력하는 프로그램을 www.acmicpc.net Solution def get_longest_repeat_time(string): answer, cnt = 1, 1 for i in range(1, len(string)): if string[i] == string[i-1]: cnt += 1 if cnt > answer: answer = cnt else: cnt = 1 return answer if __name__ == "__main__": for _ in r..
코딩 1일 1문제 오늘의 문제는 백준의 대소문자 바꾸기 입니다. 2744번: 대소문자 바꾸기 영어 소문자와 대문자로 이루어진 단어를 입력받은 뒤, 대문자는 소문자로, 소문자는 대문자로 바꾸어 출력하는 프로그램을 작성하시오. www.acmicpc.net Solution def change_lower_upper(string): new_string = [] for char in string: if char.isupper(): new_string.append(char.lower()) elif char.islower(): new_string.append(char.upper()) return "".join(new_string) if __name__ == "__main__": string = input() print..
코딩 1일 1문제! 오늘의 문제는 알파벳 거리입니다. 5218번: 알파벳 거리 첫째 줄에 테스트 케이스의 수 (= str_1: distance = str(str_2 - str_1) else: distance = str(str_2 +..
코딩 1일 1문제! 오늘의 문제는 백준의 모음의 개수입니다. 10987번: 모음의 개수 알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 모음(a, e, i, o, u)의 개수를 출력하는 프로그램을 작성하시오. www.acmicpc.net Solution from collections import Counter def count_vowel(string): vowels = ['a', 'e', 'i', 'o', 'u'] cnt = Counter(string).items() vowel_cnt = [count[1] for count in cnt if count[0] in vowels] return sum(vowel_cnt) if __name__ == "__main__": string = input() prin..
코딩 1일 1문제! 오늘의 문제는 백준의 IBM 빼기 1 입니다. 6321번: IBM 빼기 1 첫째 줄에 컴퓨터의 개수 n이 주어진다. 다음 줄부터 n개의 줄에는 컴퓨터의 이름이 주어진다. 컴퓨터의 이름은 최대 50글자이며, 알파벳 대문자로만 이루어져 있다. www.acmicpc.net Solution def ibm_subtract(string): computer_name = "" for char in string: if char == "Z": computer_name += "A" else: computer_name += chr(ord(char) + 1) return computer_name if __name__ == "__main__": for i in range(int(input())): string..
코딩 1일 1문제! 오늘의 문제는 백준의 닉네임에 갓 붙이기 입니다. 13163번: 닉네임에 갓 붙이기 첫 번째 줄에는 닉네임의 수 N(1 ≤ N ≤ 100)이 주어진다. 두 번째 줄부터 N개의 줄에는 음절 단위로 쪼갠 닉네임이 주어진다. 각 줄은 알파벳 소문자와 공백만으로 이루어지며, 쪼갠 닉네임의 총 www.acmicpc.net Solution def make_god_name(name): name = name.split() name[0] = "god" return "".join(name) if __name__ == "__main__": for _ in range(int(input())): name = input() print(make_god_name(name)) Solution 풀이 먼저 입력 받은 ..
코딩 1일 1문제! 오늘의 문제는 백준의 소수인팰린드롬 입니다. 1990번: 소수인팰린드롬 151은 소수이면서 동시에 팰린드롬이기 때문에 소수인 팰린드롬이다. 팰린드롬이란 앞으로 읽어나 뒤로 읽으나 같은 수를 말한다. 예를 들어 1234는 앞으로 읽으면 1234지만, 뒤로 읽으면 4321이 되 www.acmicpc.net 첫번째 시도! 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 c..
코딩 1일 1문제! 오늘의 문제는 백준의 데이트 입니다. 1296번: 데이트 첫째 줄에 오민식의 영어 이름이 주어진다. 둘째 줄에는 좋아하는 여자가 몇 명인지 N이 주어지고, 셋째 줄부터 N개의 줄에 여자의 이름이 하나 씩 주어진다. N은 50보다 작거나 같고, 모든 이름은 www.acmicpc.net Solution def get_best_try(minsik_name, girl_names): scores = [] for girl_name in girl_names: L = girl_name.count("L") + minsik_name.count("L") O = girl_name.count("O") + minsik_name.count("O") V = girl_name.count("V") + minsik_n..
코딩 1일 1문제! 오늘의 문제는 백준의 오타맨 고창영 입니다. 2711번: 오타맨 고창영 첫째 줄에 테스트 케이스의 개수 T(1
코딩 1일 1문제! 오늘의 문제는 백준의 문자열입니다. 9086번: 문자열 입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 하나의 문자열이 주어진다. 문자열은 알파벳 A~Z 대문자로 이루어지며 알파벳 사이에 공백은 없으 www.acmicpc.net Solution def print_first_last(string): print(string[0] + string[-1]) if __name__ == "__main__": for _ in range(int(input())): string = input() print_first_last(string) Solution 풀이 맨 처음 입력 받은 수 만큼 문자열을 입력 받고 마지막 값을 접근하는 -1 인덱스를 ..
코딩 1일 1문제! 오늘의 문제는 백준의 저항입니다. 1076번: 저항 첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 색은 모두 위의 표에 쓰여 있는 색만 주어진다. www.acmicpc.net Solution def get_resistance(colors, resistance_info): return int(str(resistance_info[colors[0]][0]) + str(resistance_info[colors[1]][0])) * resistance_info[colors[2]][1] if __name__ == "__main__": resistance_dict = { "black": [0, 1], "brown": [1, 10], "red": [2, 100]..
코딩 1일 1문제! 오늘의 문제는 크로아티아 알파벳 입니다. 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net Solution def replace_croatia_alphabet_to_x(input_str): croatia_alphabet = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="] for croatia_alpha in croatia_alphabet: input_str = input_str.replace(croatia_alph..
코딩 1일 1문제! 오늘의 문제는 백준의 등장하지 않는 문자의 합입니다. 3059번: 등장하지 않는 문자의 합 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성되어 있고, 문자열 S가 주어진다. S는 알파벳 www.acmicpc.net Solution def get_not_appearing_word_sum(input_list): input_str_ascii_list = set([ord(char) for char in input_list]) not_appearing = [num for num in range(ord('A'), ord('Z') + 1) if num not in input_str_ascii_lis..
코딩 1일 1문제! 오늘의 문제는 백준의 이름궁합 테스트 입니다. 17269번: 이름궁합 테스트 시윤이는 좋아하는 이성이 생기면 가장 먼저 이름궁합부터 본다. 이름궁합을 보는 방법은 간단하다. 먼저 이름을 알파벳 대문자로 적는다. 각 알파벳 대문자에는 다음과 같이 알파벳을 적는데 www.acmicpc.net Solution def get_compatibility_str(name1, name2, N, M): compatibility_str = "" temp = "" if N M: temp = name1[M:] for i in range(min(N, M)): compatibility_str = compatibility_str + name1[i] + name2[i] return compatibility_str..
코딩 1일 1문제! 오늘의 문제는 백준의 지영 공주님의 마법 거울 입니다. 11586번: 지영 공주님의 마법 거울 천나라 민호성의 지영 공주님은 매우 아름답다. 공주님 자신도 이 세상 그 누구보다 자신이 아름답다는 것을 알고 있다. 공주님은 자신의 아름다움이 세월의 저편으로 사라지는 것을 매우 두려 www.acmicpc.net Solution def magic_mirror(jiyoung_list, mind_num): if mind_num == 2: for i in range(len(jiyoung_list)): jiyoung_list[i] = jiyoung_list[i][::-1] elif mind_num == 3: jiyoung_list = jiyoung_list[::-1] return jiyoung_l..
코딩 1일 1문제! 오늘의 문제는 백준의 열 개씩 끊어 출력하기입니다. 11721번: 열 개씩 끊어 출력하기 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. www.acmicpc.net Solution input_string = input() string_length = len(input_string) for i in range(0, string_length, 10): print(input_string[i:i+10]) Solution 풀이 문자열을 입력받고 길이를 구한다음 10개씩 슬라이싱해서 출력하도록 하면 끝! 궁금한점 사실 이문제는 굳이 다른 방법으로도 풀어봤는데 왜 틀렸는지 잘 모르겠어서 올려보는 ..
코딩 1일 1문제! 오늘의 문제는 백준의 뒤집힌 덧셈입니다. 1357번: 뒤집힌 덧셈 어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev( www.acmicpc.net Solution def Rev(num): return num[::-1] if __name__ == "__main__": num1, num2 = input().split() print(int(Rev(str(int(Rev(num1)) + int(Rev(num2)))))) Solution 풀이 문자열을 거꾸로 뒤집는 방법인 [::-1] 을 문제에서 나온 함수이..
코딩 1일 1문제! 오늘의 문제는 백준의 윤년 입니다. 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 www.acmicpc.net Solution year = int(input()) if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0): print(1) else: print(0) Solution 풀이 먼저 년도를 입력받습니다. 입력받은 년도가 400배수 이거나 4의배수이면서 100의 배수가 아닐경우에는 1을 출력하도록 그렇지 않을 경우에는 0을 출력하도록 합니다. SOMJANG..
코딩 1일 1문제! 오늘의 문제는 최대공약수와 최소공배수 입니다. 코딩테스트 연습 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 programmers.co.kr Solution from fractions import gcd def solution(n, m): answer = [gcd(n, m), n*m / gcd(n, m)] return answer SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE dev..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 다음 큰 숫자 입니다. 코딩테스트 연습 - 다음 큰 숫자 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니 programmers.co.kr Solution def solution(n): answer = 0 one_count = bin(n).count("1") for num in range(n+1, 1000001): num_one_count = bin(num).count("1") if one_count == num_one_count: answer = num break return answer Sol..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 구명보트 입니다. 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr Solution def solution(people, limit): answer = 0 people.sort() start, end = 0, len(people) - 1 while start
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 2개 이하로 다른 비트 입니다. 코딩테스트 연습 - 2개 이하로 다른 비트 programmers.co.kr Solution def solution(numbers): answer = [] for number in numbers: if number % 2 == 0: binary_num = list(bin(number)[2:]) binary_num[-1] = "1" else: binary_num = bin(number)[2:] binary_num = "0" + binary_num one_idx = binary_num.rfind("0") binary_num = list(binary_num) binary_num[one_idx] = "1" binary_num[one_..
코딩 1일 1문제! 오늘의 문제는 백준의 직사각형에서 탈출 입니다. 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. www.acmicpc.net Solution x, y, w, h = list(map(int, input().split())) print(min([x, y, w-x, h-y])) SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on..
코딩 1일 1문제! 오늘의 문제는 백준의 베르트랑 공준 입니다. 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net Solution def getPrimaryNum_Eratos(N): nums = [True] * (N) for i in range(2, int(N**0.5) + 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] while True: ..
코딩 1일 1문제! 오늘의 문제는 백준의 곱셈입니다. 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net Solution num1 = int(input()) num2 = input() for num in list(num2[::-1]): print(num1 * int(num)) print(num1 * int(num2)) SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub. github.com
코딩 1일 1문제! 오늘의 문제는 백준의 직각삼각형입니다. 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net Solution import math while True: input_nums = input() if input_nums == "0 0 0": break triangle = list(map(int, input_nums.split())) triangle.sort() if int(math.sqrt(pow(triangle[0], 2) + pow(triangle[1], 2))) == triangle[2]: print("right..
코딩 1일 1문제! 오늘의 문제는 백준의 평균은 넘겠지! 입니다. 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net Solution for _ in range(int(input())): numbers = list(map(int, input().split())) avg = sum(numbers[1:]) / numbers[0] avg_high_score = [score for score in numbers[1:] if score > avg] rate = len(avg_high_score) / numbers[0] * 100 print(f'{rate:.3f}%') SOMJANG/CODINGTES..
코딩 1일 1문제! 오늘의 문제는 백준의 최댓값 입니다. 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net Solution numbers = [] for _ in range(9): num = int(input()) numbers.append(num) max_num = max(numbers) index = numbers.index(max_num) + 1 print(max_num) print(index) SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 202..
코딩 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..