728x90

알고리즘 공부(C++) 83

7568 덩치

7568번: 덩치 (acmicpc.net) 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net N = int(input()) list = [] result = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] for _ in range(N): x,y = map(int, input().split()) list.append([x, y]) for i in range(N): f..

11399 ATM

11399번: ATM (acmicpc.net) 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net N= int(input()) result = 0 nList = list(map(int, input().split())) nList = sorted(nList) i = N while i > 0 : result += nList[N - i] * i i -= 1 print(result) 저번 문제로 된통 당하고 이번 문제는 비교적 쉬운 편이었다. 그리디 알고리즘이 그 안의 구조가 어찌 됐건 내가 구해야되는 정보만 구하면 되는 특성을 지녔는데 이 문제도 그..

BOJ 1931 회의실

N = int(input()) time = [] # 배열 넣을 수 있는 리스트 만듦 for _ in range(N): start, end = map(int, input().split()) time.append([start, end]) time = sorted(time, key=lambda a: a[0]) # 시작 시간을 기준으로 오름차순 time = sorted(time, key=lambda a: a[1]) # 끝나는 시간을 기준으로 다시 오름차순 last = 0 # 회의의 마지막 시간을 저장할 변수 conut = 0 # 회의 개수를 저장할 변수 for i, j in time: if i >= last: # 시작시간이 회의의 마지막 시간보다 크거나 같을경우 conut += 1 last = j print(c..

728x90