[매3백] 210412 그리디

zizudana·2021년 4월 12일
0

매3백

목록 보기
2/7

1.

백준 1931번: 회의실 배정 파이썬 풀이

import sys

n = int(input())
arr_c = []
for _ in range(n):
    a, b = map(int, sys.stdin.readline().split())
    arr_c.append((a, b))

arr_c.sort(key=lambda x: (x[1], x[0]))

result = []
endtime = 0
for a, b in arr_c:
    if a >= endtime:
        result.append((a, b))
        endtime = b

print(len(result))

리스트가 아닌 튜플을 다루는 것과 리스트 정렬함수에서 lambda를 쓰는 것이 익숙하지 않다.

2.

백준 5585번: 거스름돈 파이썬 풀이

n = int(input())
n = 1000 - n

result = 0
if n >= 500:
    result += (n // 500)
    n %= 500
if n >= 100:
    result += (n // 100)
    n %= 100
if n >= 50:
    result += (n // 50)
    n %= 50
if n >= 10:
    result += (n // 10)
    n %= 10
if n >= 5:
    result += (n //5)
    n %= 5
result += n
print(result)

다른사람은 어떻게 풀었나 검색해봤는데 엄청 간단한 풀이가 있었다...

a = 1000 - int(input())
b = [500, 100, 50, 10, 5, 1]
count = 0
for i in b:
    count += a // i
    a %= i
print(count)

3.

백준 1541번: 잃어버린 괄호 파이썬 풀이

arr_m = input().split('-')
result = 0
for i in arr_m.pop(0).split('+'):
    result += int(i)

for i in arr_m:
    arr_p = i.split('+')
    for j in arr_p:
        result -= int(j)

print(result)

은근 어려웠다

0개의 댓글