본문 바로가기
코딩테스트

[백준] 5911 선물 - Python

by CuckooBird 2023. 2. 9.

백준 실버3 5911 선물 Python

https://www.acmicpc.net/problem/5911

 

5911번: 선물

1, 2, 4번 친구의 선물을 구매하고, 3번 친구의 선물을 쿠폰을 써서 구매하면 된다. (4+2)+(2+0)+(4+1)+(6+3) = 22 이기 때문에, B원으로 모두 구매하고 배송보낼 수 있다. 또, 1번이나 4번 친구에게 쿠폰을

www.acmicpc.net


문제

쿠폰은 한개라는 점을 유의합시다.


코드

맞았습니다가 뜬 코드입니다. - 메모리 31256KB | 시간 428ms | 코드 길이 565B

import sys
N, B = map(int, sys.stdin.readline().rstrip().split())
P = list(range(N))
S = list(range(N))
for i in range(N):
    P[i] , S[i] = map(int, sys.stdin.readline().rstrip().split())
f_list = []
sum = 0
cnt = 0
for i in range(N):
    data = []
    for j in range(N):
        if i == j:
            data.append(P[j]/2 + S[j])
        else:
            data.append(P[j] + S[j])
    cnt = 0
    sum = 0
    data.sort()
    for j in range(N):
        sum += data[j]
        if sum > B:
            break
        cnt += 1
    f_list.append(cnt)
print(max(f_list))

후기

그냥 좀 귀찮은 문제였습니다

설명 쓰기도 귀찮으니까 안 쓰겠슴

'코딩테스트' 카테고리의 다른 글

[백준] 1026 보물 - Python  (2) 2023.02.11
[백준] 1735 분수 합 - Python  (2) 2023.02.10
[백준] 26267 은?행 털!자 1 - python  (3) 2023.02.08
[백준] 1183 약속 - python  (1) 2023.02.08
[백준] 2606 바이러스 - python  (2) 2023.02.07