본문 바로가기

Python12

[백준 1931] [Python] [JAVA] 회의실 배정 1931번: 회의실배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 회의 시작시간과 끝나는 시간이 같을 수 있다는 조건이 있다. 입력받은 값을 회의 종료시간을 기준으로 오름차순으로 정렬해준 뒤 시작 시간을 기준으로 다시 오름차순 정렬해준다. N = int(input()) meeting_time = [] for i in range(N): start, end = map(int, input().split()) meeting_time.append((start, end)) meeting_time = sorted(meeting_time, key=lambda time: (time[1], time[0])) #종료시간을 기준으로 오름차순으로 .. 2020. 9. 3.
[백준 2309] [Python] 일곱 난쟁이 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 총 9개의 숫자중에 합이 100이되는 숫자 7개를 찾으면되는 문제이다. 조합으로 풀면된다. from itertools import permutations nums = [] for i in range(9): nums.append(int(input())) per = permutations(nums, 7) for i in per: if sum(i) == 100: ans = sorted(i) break for i in ans: print(i) 2020. 9. 2.
[백준 10819] [Python] 차이를 최대로 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net 조합을 이용해서 풀면 된다. from itertools import permutations N = int(input()) nums = permutations(list(map(int, input().split()))) ans = 0 for i in nums: sum = 0 for j in range(N-1): sum += abs(i[j] - i[j+1]) ans = max(ans, sum) print(ans) 2020. 9. 2.
[백준 1065] [Python] [C++] 한수 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 1~99는 다 한수이다. 100 미만일 경우에는 그대로 N을 반환해주면 된다. 문제에서 N의 범위가 1000보다 작거나 같기 때문에 3자리만 계산을 해주면 된다. 각 자릿수로 나눈 다음 빼주어 값이 같은지 확인하여 한수인지 아닌지 판별해주면 된다. N = int(input()) answer = 99 if N < 100: print(N) else: for i in range(100, N+1): numbers = list(map(int, str(i).. 2020. 9. 1.