일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 백준
- 편스토랑 우승상품
- Git
- gs25
- Real or Not? NLP with Disaster Tweets
- 코로나19
- 편스토랑
- ChatGPT
- Kaggle
- programmers
- 캐치카페
- AI 경진대회
- 우분투
- 프로그래머스 파이썬
- 데이콘
- 금융문자분석경진대회
- Baekjoon
- 자연어처리
- hackerrank
- PYTHON
- Docker
- leetcode
- 더현대서울 맛집
- 파이썬
- 프로그래머스
- dacon
- SW Expert Academy
- ubuntu
- Today
- Total
목록
반응형
Baekjoon (592)
솜씨좋은장씨
코딩 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문제! 오늘의 문제는 백준의 직사각형에서 탈출 입니다. 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..
코딩 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문제! 오늘의 문제는 백준의 한수입니다. 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..
문제를 탐색하다가 귀여운 문제가 있어서 풀어봤습니다. 바로 백준의 고양이 입니다. 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 풀이..
코딩 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(..
코딩 1일 1문제! 오늘의 문제는 백준의 단어의 개수 입니다. 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 www.acmicpc.net 첫번째 시도 string = input() print(len(string.split(" "))) 이렇게 쉬운문제가 왜...? 왜....? 정답비율이 28.638% 이지? 라는 생각으로 호기롭게 제출을 했으나...! 롸....?...? 왜 틀렸지...? 그러다 문제를 다시보니 문자열의 앞과 뒤에 공백이 있을 수도 있다! 이게 적혀있었습니다. 두번째 시도 string = input() print(le..