문제 링크
https://softeer.ai/practice/6288
Softeer - 현대자동차그룹 SW인재확보플랫폼
softeer.ai
문제 풀이
import sys
input = sys.stdin.readline
w, n = map(int, input().split())
sum_weight = 0
price = 0
metals = []
for _ in range(n):
m, p = map(int, input().split())
metals.append([m, p])
metals.sort(key=lambda x: -x[1])
idx = -1
while idx <= n - 2:
idx += 1
if sum_weight + metals[idx][0] > w:
break
sum_weight += metals[idx][0]
price += metals[idx][1] * metals[idx][0]
price += (w - sum_weight) * metals[idx][1]
print(price)
단순 구현으로 풀린 문제입니다.
금속에 대한 정보를 metals라는 배열에 하나씩 넣어두고,
금속의 값을 기준으로 내림차순 정렬을 합니다.
가장 값비싼 가격을 출력해야 하는 문제이기 때문에, 비싼 금속부터 차례로 넣어야 하기 때문입니다.
while문에서는 금속의 총 무게가 가방에 넣을 수 있는 무게를 넘지 않는지 체크하며
넣은 금속에 대한 총 가격을 체크합니다.
처음에 TC3가 틀렸었는데, 한 가지 간과한 점이
모든 금속을 넣었음에도 가방의 무게가 차지 않을 수 있다는 점 입니다.
이에 대해 index 오류가 난 것으로 판단하여 while문의 조건을 True가 아닌,
금속의 개수 - 2 (-1은 인덱스이므로, -1은 가장 처음에 인덱스를 +1 해주므로)한 것으로 변경해주었습니다.
'Algorithm' 카테고리의 다른 글
[백준] 2217 로프 (코틀린 kotlin) (0) | 2024.02.01 |
---|---|
[백준] 11047 동전 0 (코틀린 kotlin) (0) | 2024.02.01 |
코틀린으로 코딩테스트 준비하기 (0) | 2024.02.01 |
[Softeer] 장애물 인식 프로그램 Lv.2 (파이썬 python) (1) | 2024.01.30 |
[프로그래머스] 소수 찾기 (Level 2) (파이썬 python) (0) | 2022.02.02 |
문제 링크
https://softeer.ai/practice/6288
Softeer - 현대자동차그룹 SW인재확보플랫폼
softeer.ai
문제 풀이
import sys
input = sys.stdin.readline
w, n = map(int, input().split())
sum_weight = 0
price = 0
metals = []
for _ in range(n):
m, p = map(int, input().split())
metals.append([m, p])
metals.sort(key=lambda x: -x[1])
idx = -1
while idx <= n - 2:
idx += 1
if sum_weight + metals[idx][0] > w:
break
sum_weight += metals[idx][0]
price += metals[idx][1] * metals[idx][0]
price += (w - sum_weight) * metals[idx][1]
print(price)
단순 구현으로 풀린 문제입니다.
금속에 대한 정보를 metals라는 배열에 하나씩 넣어두고,
금속의 값을 기준으로 내림차순 정렬을 합니다.
가장 값비싼 가격을 출력해야 하는 문제이기 때문에, 비싼 금속부터 차례로 넣어야 하기 때문입니다.
while문에서는 금속의 총 무게가 가방에 넣을 수 있는 무게를 넘지 않는지 체크하며
넣은 금속에 대한 총 가격을 체크합니다.
처음에 TC3가 틀렸었는데, 한 가지 간과한 점이
모든 금속을 넣었음에도 가방의 무게가 차지 않을 수 있다는 점 입니다.
이에 대해 index 오류가 난 것으로 판단하여 while문의 조건을 True가 아닌,
금속의 개수 - 2 (-1은 인덱스이므로, -1은 가장 처음에 인덱스를 +1 해주므로)한 것으로 변경해주었습니다.
'Algorithm' 카테고리의 다른 글
[백준] 2217 로프 (코틀린 kotlin) (0) | 2024.02.01 |
---|---|
[백준] 11047 동전 0 (코틀린 kotlin) (0) | 2024.02.01 |
코틀린으로 코딩테스트 준비하기 (0) | 2024.02.01 |
[Softeer] 장애물 인식 프로그램 Lv.2 (파이썬 python) (1) | 2024.01.30 |
[프로그래머스] 소수 찾기 (Level 2) (파이썬 python) (0) | 2022.02.02 |