Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- c언어 라이프타임
- GStreamer
- c언어 static
- 성적평균
- Spakrfun Edge
- C++
- SKT FLYAI
- 삼성전자 #영상디스플레이사업부 # VD사업부 #면접후기
- c언어 지역변수
- GStreamer tutorial
- 코딩테스트 기출
- C++해설
- Python
- c언어 스코프
- 플레이페어 암호
- softeer
- 코테기출
- Sparkfun Edge Example
- c언어 정적변수
- 사물인식 최소 면적 산출 프로그램
- c언어 전역변수
- GStreamer 튜토리얼
- 지도 자동 구축
- 삼성 B형
- Sparkfun Edge 프로젝트
- MacOS 설치
- nodejs 기초
- 소프티어
- 통근버스 출발 순서 검증하기
- 수퍼컴퓨터 클러스터
Archives
- Today
- Total
mulll
[소프티어] 금고털이 / C++ 해설 / Python 해설 본문
더 많은 문제풀이는 아래 Github 주소에서 확인하실 수 있습니다.
https://github.com/Dongha-k/softeer-code
문제 출처: https://softeer.ai/practice/info.do?idx=1&eid=395
공식 해설: https://softeer.ai/class/algotutor/detail.do?id=66
코드(C++)
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef pair<int, int> P;
int main(int argc, char** argv)
{
int w, n;
int res = 0;
vector<P> v;
cin >> w >> n;
for(int i = 0 ; i < n ; i ++){
int w, v_per_kg;
cin >> w >> v_per_kg;
v.push_back({-v_per_kg, w});
}
sort(v.begin(), v.end());
for(auto &x : v){
if(w == 0) break;
res += (min(w, x.second)) * (-x.first);
w -= min(w, x.second);
}
cout << res;
return 0;
}
코드(Python)
import sys
input=sys.stdin.readline
Weight, N=map(int,input().split())
Bank=[]
for n in range(N):
a,b=map(int, input().split())
Bank.append((b,a))
Bank.sort(key=lambda x: x[0], reverse=True)
Bank.sort(reverse=True)
result=0
for B in Bank:
if Weight==0:
break
if Weight>=B[1]:
result+=B[0]*B[1]
Weight-=B[1]
continue
else:
result+=B[0]*Weight
break
print(result)
해설
1kg 당 가치가 가장 높은 보석부터 무게제한 W가 안넘을때까지 안에 넣는다.
1kg 당 가치를 기준으로 내림차순으로 정렬을 수행한 뒤 1kg 당 가치가 높은 순서부터 W가 안넘을때까지 쌓아넣는다.
'algorithm study' 카테고리의 다른 글
[소프티어] 전광판 / C++ 해설 (0) | 2023.01.01 |
---|---|
[소프티어] 8단 변속기 / C++ 해설 (0) | 2023.01.01 |
[소프티어] 지도 자동 구축 / C++ 해설 (0) | 2023.01.01 |
[소프티어] 사물인식 최소 면적 산출 프로그램 / C++ (1) | 2023.01.01 |
[소프티어] 교차로 / C++ 해설 (0) | 2023.01.01 |
Comments