반응형 분류 전체보기64 [백준/Python] (S4) 요세푸스 문제 - 1158 Baekjoon Online Judge의 1759번 암호만들기 문제의 Python 풀이입니다. 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 💻코드 from collections import deque n, k = map(int, input().split()) queue = deque(range(1, n + 1)) removed = [] # deque에 아이템이 있는 동안 반복 while queue: # k-1번 만큼 deque의 앞에서 빼서 뒤에 추가함 (k번째 사람을 맨 앞으로 이동) queue.rotate(-k + 1) # 맨 앞의 사람을 제거하고 removed 리스트에 추가 removed.a.. PS 2024. 3. 10. [백준/Python] (S2) 에디터 - 1406 Baekjoon Online Judge의 1406번 에디터 문제의 Python 풀이입니다. 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 💻코드 import sys from collections import deque input = sys.stdin.readline # 커서 왼쪽에 있는 문자들을 저장할 덱 left = deque(input().strip()) # 커서 오른쪽에 있는 문자들을 저장할 덱 right = deque() n = int(input()) for _ in range(n): command =.. PS 2024. 3. 10. [백준/Python] (S1) 절댓값 힙 - 11286 Baekjoon Online Judge의 11286번 절댓값 힙 문제의 Python 풀이입니다. 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 💻코드 import sys import heapq input = sys.stdin.readline # 빠른 입력을 위한 설정 n = int(input()) positives = [] # 양수를 저장할 힙 negatives = [] # 음수를 저장할 힙 (저장할 때는 양수로 변환) for _ in range(n): num = int(input()) .. PS 2024. 3. 10. [백준/Python] (G5) 강의실 - 1374 Baekjoon Online Judge의 1374번 강의실 문제의 Python 풀이입니다. 1374번: 강의실 첫째 줄에 강의의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 줄마다 세 개의 정수가 주어지는데, 순서대로 강의 번호, 강의 시작 시간, 강의 종료 시간을 의미한다. 강의 www.acmicpc.net 💻코드 import heapq as h import sys input=sys.stdin.readline n=int(input()) a=sorted([list(map(int, input().split()))[1:] for _ in range(n)]) r=[a[0][1]] for S,E in a[1:]: if S>=r[0]:h.heappop(r) h.heappu.. PS 2024. 3. 10. [백준/Python] (S5) 시계 - 8989 Baekjoon Online Judge의 8989번 시계 문제의 Python 풀이입니다. 8989번: 시계 기원이의 방에는 시침과 분침으로 이루어진 아날로그 시계가 있다. 기원이는 시침과 분침이 형성하는 각도 중 작은 각도를 측정하는 것이 취미이며, 이 각도는 0보다 크거나 같고 180보다 작거나 www.acmicpc.net 💻코드 for _ in range(int(input())): times = list(input().split()) angles = [] for time in times: H, M = map(int, time.split(':')) hour_angle = (H % 12) * 30 + M * 0.5 minute_angle = M * 6 angle_diff = abs(hour_angle -.. PS 2024. 3. 10. [백준/Python] (G5) 강의실 배정 - 11000 Baekjoon Online Judge의 11000번 강의실 배정 문제의 Python 풀이입니다. 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si = rooms[0]: h.he.. PS 2024. 3. 10. [백준/Python] (G4) 카드 정렬하기 - 1715 Baekjoon Online Judge의 1715번 카드 정렬하기문제의 Python 풀이입니다. 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 💻코드 import sys input=sys.stdin.readline import heapq heapq.heapify(d:=[int(input()) for _ in range(int(input()))]) print(sum(heapq.heappush(d,(a:=heapq.heappop(d))+(b:=heapq.heappop(d))) or a+b for .. PS 2024. 3. 10. [백준/Rust] (B5) Everyone is a winner - 31450 Baekjoon Online Judge의 31450번 Everyone is a winner 문제의 Rust 풀이입니다. 31450번: Everyone is a winner Your friend is a kindergarten teacher. Since the Olympic Games in Paris are approaching, he wants to teach the kids about different aspects of sports competitions. As part of this idea, he plans to have one day when kids receive medals for their behaviour www.acmicpc.net 💻코드 use std::io; fn main() { l.. PS 2024. 3. 7. [백준/Python] (B4) 그게 무슨 코드니.. - 31495 Baekjoon Online Judge의 31495번 그게 무슨 코드니.. 문제의 Python 풀이입니다. 31495번: 그게 무슨 코드니.. 첫 번째 줄에 토카의 문자열을 뜻하는 문자열 $S$가 주어진다. $S$는 $50$글자를 넘지 않으며, 영어 대소문자와 큰따옴표, 그리고 공백으로 이루어져 있다. 큰따옴표는 전체 문자열에서 $2$개 이하 www.acmicpc.net 💻코드 input_string = input() # 입력받은 문자열이 큰따옴표로 시작하지 않거나, 큰따옴표로 끝나지 않거나, 길이가 3 미만인 경우 CE를 출력 # 문자열의 길이가 3 미만인 경우는 큰따옴표 안에 문자가 없는 경우를 의미 if input_string[0] != '"' or input_string[-1] != '"' or .. PS 2024. 3. 7. [백준/Python] (S4) 오버워치 월드컵 - 13923 Baekjoon Online Judge의 13923번 오버워치 월드컵 문제의 Python 풀이입니다. 13923번: 오버워치 월드컵 각 테스트 케이스에 대해 두 정수 R, C와 하나의 문자 V를 출력한다. R, C는 티셔츠를 잘못 입고 온 관객의 위치를 나타내는 열과 행이다. 하나의 V는 원래 해당 관객이 입었어야 할 티셔츠가 나타 www.acmicpc.net 💻코드 while True: try: # 입력받은 팀의 수 num_teams = int(input()) except: break # 관객석의 자리배치도, 중복된 행 체크를 위한 집합, 정렬된 올바른 행 seating_arrangement, seen_rows, correct_row_order = [input() for _ in range(num_te.. PS 2024. 3. 7. [백준/Python] (S4) コンテスト (Contest) - 24123 Baekjoon Online Judge의 24123번 コンテスト (Contest) 문제의 Python 풀이입니다. 24123번: コンテスト (Contest) 世の中には様々なプログラミングコンテストがある.例えば,情報オリンピック,ACM-ICPC,ICFP の 様に世界中の相手と競い合う物や, Supercomputing Contest,パソコン甲子園,EPOCH @まつやまの国 www.acmicpc.net 💻코드 # 입력 값 받기 num_participants, num_problems, _, min_score, num_logs = map(int, input().split()) # 각 문제의 점수를 저장하는 리스트 problem_scores = [int(input()) for _ in range(num_problems)] .. PS 2024. 3. 7. [백준/Python] (S5) カードの並び替え - 5599 Baekjoon Online Judge의 5599번 カードの並び替え 문제의 Python 풀이입니다. 5599번: カードの並び替え 1 から 2n の数が書かれた 2n 枚のカードがあり, 上から 1, 2, 3, ... , 2n の順に積み重なっている. このカードを, 次の方法を何回か用いて並べ替える. 整数 k でカット 上から k 枚のカードの www.acmicpc.net 💻코드 n=int(input()) c=list(range(1,n*2+1)) for _ in[0]*int(input()): o=int(input()) c=c[o:]+c[:o]if o else[ j for i in zip(c[:n],c[n:]) for j in i] print(*c) 🧠풀이 카드를 섞어야한다. 🤔느낀 점 굳 PS 2024. 3. 7. 이전 1 2 3 4 5 6 다음 반응형