본문 바로가기

Algorithm37

백준 1931번 : 회의실 배정 링크 : https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net N = int(input()) cf_tm = [] for _i in range(N): _cf = list(map(int, input().split())) cf_tm.append(_cf) cf_tm.sort(key=lambda x: (x[1], x[0])) ed_tm = 0 count = 0 for i in range(N): if cf_tm[i][0] >= ed_tm: count += 1 ed_tm = cf_tm[i][1] print(count) 현재 회의가 끝나는 시점 이후에 시작되는 회의 중 가장 빨리.. 2022. 1. 5.
백준 1463번 : 1로 만들기 링크 : https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net ''' 1 2 3 4 5 6 .. -1 사용 0 1 2 3 4 5 2이나 3으로 나누기 0 1 1 ''' import sys input = sys.stdin.readline x = int(input()) count = [[0 for i in range(x)] for j in range(2)] for i in range(x): count[0][i] = i for i in range(1, x): n = i+1 if n %2 ==0 and n %3 ==0: count[1][i] = min(count[1][n.. 2022. 1. 5.
백준 11726번 : 2×n 타일링 https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net import sys input = sys.stdin.readline n = int(input()) count = [[0 for i in range(n+1)] for j in range(2)] count[0] = [1 for i in range(n+1)] count[0][0] = count[1][0] = 0 for i in range(1, n+1): if i 2022. 1. 5.
백준 11508번 : 2+1 세일 링크 : https://www.acmicpc.net/problem/11508 11508번: 2+1 세일 KSG 편의점에서는 과일우유, 드링킹요구르트 등의 유제품을 '2+1 세일'하는 행사를 하고 있습니다. KSG 편의점에서 유제품 3개를 한 번에 산다면 그중에서 가장 싼 것은 무료로 지불하고 나머지 두 www.acmicpc.net N = int(input()) price = [] for i in range(0,N): x = int(input()) price.append(x) pay = 0 price.sort() while len(price) >= 3: x1 = int(price.pop()) x2 = int(price.pop()) x3 = int(price.pop()) pay = pay + x1 + x2 .. 2022. 1. 2.