본문 바로가기
> 알고리즘 문제 풀이/BOJ

17224-APC는 왜 서브태스크가 되었을까? (python, 파이썬)

by bky373 2020. 10. 15.

1번: 내가 작성한 코드 (sorted 이용)

n, l, k = map(int, input().split())

problems = []

for _ in range(n):
    easy, hard = map(int, input().split())
    problems.append((easy, hard))

problems = sorted(problems, key=lambda x: x[1])

solved = 0
total = 0

for problem in problems:
    if solved >= k :
        break
    if problem[0] <= l:
        total += 100
        if problem[1] <= l:
            total += 40
        solved += 1
print(total)





2번: 1번 성공 후 참고한 코드

N, L, K = map(int, input().split())

easy, hard = 0, 0

for i in range(N):
    sub1, sub2 = map(int, input().split())
    if sub2 <= L:
        hard += 1
    elif sub1 <= L:
        easy += 1

ans = min(hard, K) * 140

if hard < K:
    ans += min(K-hard, easy) * 100

print(ans)




3번: 배운 점
  계산할 변수를 적절하게 나누고, 분기문을 적절하게 활용하면 코드가 더 간단해질 수 있다!

댓글