일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Kaggle
- Docker
- SW Expert Academy
- ubuntu
- 프로그래머스 파이썬
- PYTHON
- 자연어처리
- Real or Not? NLP with Disaster Tweets
- 코로나19
- 데이콘
- 파이썬
- 편스토랑
- ChatGPT
- github
- hackerrank
- AI 경진대회
- 백준
- 금융문자분석경진대회
- leetcode
- programmers
- 우분투
- dacon
- 캐치카페
- gs25
- 편스토랑 우승상품
- 맥북
- 더현대서울 맛집
- 프로그래머스
- Baekjoon
- Git
- Today
- Total
목록
반응형
백준 (399)
솜씨좋은장씨
코딩 1일 1문제! 오늘의 문제는 백준의 회의실 배정입니다. 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 👨🏻💻 문제 풀이 이 문제는 비교적 쉽게 문제를 풀 수 있습니다. 이 힌트를 보고 생각난 방법입니다. 보면 시작시간과 끝시간이 가지런히 정렬 되어있는 것을 볼 수 있습니다. 그럼 정렬은 어떤 기준으로 해야하느냐! 먼저 문제 속 기준을 보아야합니다. 회의실의 개수 == 1개 회의가 시작하면 중간에 중단될 수 없음 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있음 이때 시작시간과 끝 시간은 같을 수 있음 회의실의 개수는 하나이고 회의가 시작하면 중간에 중단될 수 없으므로 빠르게 끝나는 회의 일수록 더 많은 회의가 ..
코딩 1일 1문제! 오늘의 문제는 백준의 더하기 2 입니다. 10823번: 더하기 2 문자열 S가 여러 줄에 걸쳐서 주어진다. S의 길이는 최대 10,000이다. 포함되어있는 정수는 1,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 👨🏻💻 문제 풀이 먼저 이 문제는 여러 줄에 걸쳐 입력 받은 문자열 속 숫자를 모두 더한 값을 구하는 문제입니다. 문자열을 입력 받을 때에는 while 반복문을 활용하여 여러 줄을 입력 받는데 이때 마지막 줄 이후에 반복문을 멈추는데에는 try except 에서 EOFError를 활용하여 마지막 줄일 경우 반복문이 멈추도록 합니다. 그리고 예제 문자열을 잘 살펴보면 10,20, 3 0,50 ,1 00 10,20, 3 0, 50 ~~ 이걸 공백없이 한..
코딩 1일 1문제! 오늘의 문제는 백준의 CCW 입니다. 11758번: CCW 첫째 줄에 P1의 (x1, y1), 둘째 줄에 P2의 (x2, y2), 셋째 줄에 P3의 (x3, y3)가 주어진다. (-10,000 ≤ x1, y1, x2, y2, x3, y3 ≤ 10,000) 모든 좌표는 정수이다. P1, P2, P3의 좌표는 서로 다르다. www.acmicpc.net Solution def convert_input_to_point(string): point_x, point_y = map(int, string.split()) return {"x": point_x, "y": point_y} def CCW(point1, point2, point3): answer = 0 y = (point2['x'] - poi..
코딩 1일 1문제! 오늘의 문제는 백준의 이번학기 평점은 몇점? 입니다. 2755번: 이번학기 평점은 몇점? 첫째 줄에, 백준이가 이번 학기에 들은 과목 수가 주어진다. 둘째 줄부터 N개의 줄에 각 과목의 과목명, 학점, 성적이 주어진다. 과목명은 알파벳 소문자와 숫자, 그리고 밑줄 (_)로만 이루어져 있 www.acmicpc.net Solution def this_year_avg_score(grade_info): 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, "F" : 0.0} sum_sc..
코딩 1일 1문제! 오늘의 문제는 백준의 진수 변환기 입니다. 14915번: 진수 변환기 변환한 n진수의 수를 출력한다. 11~16 진수의 경우 10 이상의 수는 A~F 문자를 사용한다. 예를 들어, 10은 A, 11은 B, 12는 C, 13은 D, 14는 E, 15는 F를 사용한다. www.acmicpc.net Solution def decimal_converter(number, n): answer = "" temp = list("0123456789ABCDEF") if number == 0: answer = "0" else: while number: answer += temp[number % n] number //= n return answer[::-1] if __name__ == "__main__":..
코딩 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..
코딩 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문제! 오늘의 문제는 백준의 좋은 단어입니다. 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..
코딩 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문제! 드디어 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문제! 오늘의 문제는 백준의 학점 계산입니다. 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..
코딩 1일 1문제! 오늘의 문제는 백준의 정수의 개수 입니다. 살짝 너무 많이 쉬어가는 느낌이지만 오늘만은 치트키를... 10821번: 정수의 개수 숫자와 콤마로만 이루어진 문자열 S가 주어진다. 이때, S에 포함되어있는 정수의 개수를 구하는 프로그램을 작성하시오. S의 첫 문자와 마지막 문자는 항상 숫자이고, 콤마는 연속해서 주어지지 www.acmicpc.net Solution def integer_number(string): return len(string.split(",")) if __name__ == "__main__": input_string = input() print(integer_number(input_string)) GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일..