반응형 분류 전체보기64 [백준/Python] (B4) 시계탑 - 31561 Baekjoon Online Judge의 31561번 시계탑 문제의 Python 풀이입니다. 31561번: 시계탑 올바른 시각의 분을 나타내는 실수를 정확하게 출력한다. 이때 값은 소수점 첫째 자리까지 출력해야 하며, 항상 답을 정확하게 출력할 수 있음을 증명할 수 있다. www.acmicpc.net 💻코드 # 사용자로부터 분침이 가리키는 분을 입력받음 input_minute = int(input()) # 올바른 시각의 분을 저장할 변수 초기화 correct_minute = 0 # 입력된 분이 30보다 크거나 같은 경우 (즉, 분침이 6시 방향을 넘어선 경우) if input_minute >= 30: # 15분을 추가하여 정상적인 속도로 움직인 15분을 계산 correct_minute += 15 # 입력.. PS 2024. 3. 12. [백준/Python] (B3) カレー作り - 22396 Baekjoon Online Judge의 22396번 암호만들기 문제의 Python 풀이입니다. 22396번: カレー作り 各データセットについて,W0 [L] の水に R0 [g] のルウを混ぜた作りかけのカレーから,濃度 C のカレーを作るために追加する必要のあるルウの個数の最小値を 1 行で出力すること.追加す www.acmicpc.net 💻코드 while True: # 각 변수는 현재 녹아 있는 루의 양, 카레에 들어간 물의 양, 목표 카레 농도, 루 하나의 무게를 나타냄 dissolved_roux, water_volume, target_concentration, roux_weight = map(int, input().split()) # 목표 농도에 도달하기 위해 필요한 추가 루의 양을 계산 required_roux .. PS 2024. 3. 12. [백준/Python] (B3) 줄 세기 - 4806 Baekjoon Online Judge의 4806번 줄 세기 문제의 Python 풀이입니다. 4806번: 줄 세기 한 줄에 최대 100글자씩 주어진다. 빈 줄이 주어질 수도 있다. www.acmicpc.net 💻코드 print(sum(1 for _ in open(0))) # 입력된 줄의 총 수를 출력 🧠풀이 이 문제는 사용자로부터 입력 받은 줄의 개수를 세는 것. 위 코드는 각 줄을 반복하며 각 줄마다 1을 카운팅하고, 모든 줄에 대해 1을 더한 합계를 구하는 것이다. open(0)을 사용하여 표준 입력으로부터 입력을 받고, for 반복문을 통해 각 줄을 순회한다. 이 때, 각 반복마다 1을 생성하고, sum 함수를 통해 이 1들의 합을 구하여 줄의 총 수를 구한다. 🤔느낀 점 이 코드는 파이썬을 이용해.. PS 2024. 3. 10. [백준/Python] (S3) 별 관찰 - 2859 Baekjoon Online Judge의 2859번 별 관찰 문제의 Python 풀이입니다. 2859번: 별 관찰 상근이와 중근이는 천문학 수업을 듣고 있다. 이번 주 과제는 흔치 않은 별 두 개를 관찰하는 것이다. 두 사람은 별을 관찰하면서 반짝이는 시간을 적어놓았다. 관찰한 결과를 살펴보니 두 별은 www.acmicpc.net 💻코드 a=lambda k:int(k[0])*60+int(k[1]) A,B,C,D=[a(i.split(':')) for i in open(0)] for _ in ' '*1440: if A==B:print(f"{'Satur Sun Mon Tues Wednes Thurs Fri'.split()[A//1440%7]}day\n{A//60%24:02}:{A%60:02}");break A.. PS 2024. 3. 10. [백준/Python] (S2) 조합 0의 개수 - 2004 Baekjoon Online Judge의 2004번 조합 0의 개수 문제의 Python 풀이입니다. 2004번: 조합 0의 개수 첫째 줄에 정수 $n$, $m$ ($0 \le m \le n \le 2,000,000,000$, $n \ne 0$)이 들어온다. www.acmicpc.net 💻코드 n, m = map(int, input().split()) def C(n, f): count = 0 while n: n //= f count += n return count A = C(n, 2) - C(m, 2) - C(n - m, 2) B = C(n, 5) - C(m, 5) - C(n - m, 5) print(min(A, B)) 🧠풀이 조합의 수를 직접 계산하는 대신, 그 결과에 10이 몇 번 곱해져 있는지를 찾아.. PS 2024. 3. 10. [백준/Python] (G5) 최소 회의실 개수 - 19598 Baekjoon Online Judge의 19598번 최소 회의실 개수 문제의 Python 풀이입니다. 19598번: 최소 회의실 개수 2개 회의실로 3개 회의를 모두 진행할 수 있다. 예를 들어, 첫번째 회의실에서 첫번째 회의를 진행하고 두번째 회의실에서 두번째 회의와 세번째 회의를 진행하면 된다. 1개 회의실로 3개 회의 www.acmicpc.net 💻코드 import heapq as h import sys input = sys.stdin.readline n = int(input()) arr = [list(map(int,input().split())) for _ in range(n)] arr.sort() rooms = [arr[0][1]] for i in range(1, n): start, end =.. PS 2024. 3. 10. [백준/Python] (S3) 터렛 - 1002 Baekjoon Online Judge의 1002번 암호만들기 문제의 Python 풀이입니다. 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 $-1$ 출력한다. www.acmicpc.net 💻코드 T = int(input()) for _ in range(T): x1, y1, r1, x2, y2, r2 = map(int, input().split()) distance = ((x2 - x1)**2 + (y2 - y1)**2)**0.5 # 두 원이 완전히 일치하는 경우 if distance == 0 and r1 == r2: print(-1) # 두 원이 외접하거나 내접하는 경우 elif distance == r.. PS 2024. 3. 10. [백준/Python] (S3) 에너지 드링크 - 20115 Baekjoon Online Judge의 20115번 에너지 드링크 문제의 Python 풀이입니다. 20115번: 에너지 드링크 페인은 에너지 드링크를 좋아하는 회사원이다. 에너지 드링크는 카페인, 아르기닌, 타우린, 나이아신 등의 성분이 들어있어 피로 회복에 도움을 주는 에너지 보충 음료수이다. 야근을 마치고 한 www.acmicpc.net 💻코드 # 에너지 드링크 개수 입력 받기 n = int(input()) # 에너지 드링크의 양을 입력 받아 정렬하기 drinks = sorted(map(int, input().split())) # 마지막 드링크의 양과 나머지 드링크 양의 합의 절반을 더한 값을 출력 # 마지막 드링크는 가장 양이 많은 드링크이므로 이를 기준으로 합치기를 진행 print((drinks.. PS 2024. 3. 10. [백준/Python] (S2) 최소 힙 - 1927 Baekjoon Online Judge의 1927번 최소 힙 문제의 Python 풀이입니다. 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 💻코드 import sys import heapq n = int(sys.stdin.readline()) heap = [] # 힙으로 사용될 빈 리스트를 초기화 for _ in range(n): num = int(sys.stdin.readline()) if num == 0: # 입력받은 숫자가 0이면 if not heap: # 힙이 비어있다면 0을 출력.. PS 2024. 3. 10. [백준/Python] (S2) 최대 힙 - 11279 Baekjoon Online Judge의 11279번 최대 힙문제의 Python 풀이입니다. 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 💻코드 import sys import heapq n = int(sys.stdin.readline()) # 입력받을 숫자의 개수 max_heap = [] # 최대 힙을 위한 빈 리스트 for _ in range(n): # n번 반복 num = int(sys.stdin.readline()) # 숫자 입력 받음 if num == 0: # 입력 받은 숫자.. PS 2024. 3. 10. [백준/Python] (S5) 국회의원 선거 - 1417 Baekjoon Online Judge의 1417번 국회의원 선거 문제의 Python 풀이입니다. 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net 💻코드 import heapq # 후보의 수 입력받기 n = int(input()) # 다솜이의 초기 득표수 입력받기 dasom_votes = int(input()) # 다른 후보들의 득표수를 저장할 리스트 초기화 및 입력받기 other_votes = [-int(input()) for _ in range(n - 1)] # 최소 힙 구조로 변환 heapq... PS 2024. 3. 10. [백준/Python] (S5) 중복 빼고 정렬하기 - 10867 Baekjoon Online Judge의 10867번 중복 빼고 정렬하기 문제의 Python 풀이입니다. 10867번: 중복 빼고 정렬하기 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. www.acmicpc.net 💻코드 input() print(*sorted(set(map(int, input().split())))) 🧠풀이 set로 중복제거, sorted로 정렬하기 🤔느낀 점 set set sett PS 2024. 3. 10. 이전 1 2 3 4 5 6 다음 반응형