-
Softeer [level 2] : 금고털이 (C 언어)softeer 문제 2023. 3. 27. 10:42
https://softeer.ai/practice/info.do?idx=1&eid=395&sw_prbl_sbms_sn=170699
Softeer
연습문제를 담을 Set을 선택해주세요. 취소 확인
softeer.ai
Code:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950#include <stdio.h>#include <stdlib.h>typedef struct {int weight;int cost;}arr;int compare(const void* a, const void* b){arr* A = (arr*)a;arr* B = (arr*)b;if (A->cost > B->cost) return -1;else if (A->cost < B->cost) return 1;else return 0;}int main(){int w, n;int sum = 0;scanf("%d %d", &w, &n);arr check[1000001] = { 0, };for (int i = 0; i < n; i++){scanf("%d %d", &check[i].weight, &check[i].cost);}qsort(check, n, sizeof(arr), compare);for (int i = 0; i < n; i++){if (w>= check[i].weight){sum += check[i].weight * check[i].cost;w -= check[i].weight;}else{sum += w * check[i].cost;w -= w;}if (w == 0){break;}}printf("%d", sum);}cs 문제풀이:
1. typedef 함수를 이용해서 금속의 무게와 무게당 비용을 같이 저장한다.
2. 비용이 비싼순으로 qsort 정렬을 해준다.
3.가방 무게와 비교를 하며 총 비용을 구한다.
'softeer 문제' 카테고리의 다른 글
Softeer [level 2] : 장애물 인식 프로그램 (C 언어) (0) 2023.03.27 Softeer [level 2] : 8단 변속기 (C 언어) (0) 2023.03.27 Softeer[level 1] A+B (C 언어) (0) 2023.03.26 Softeer[level 1] 근무 시간 (C언어) (0) 2023.03.26 Softeer[level1] 주행거리 비교하기 (C언어) (0) 2023.03.26