https://www.acmicpc.net/problem/11399
최솟값을 구하라고 했으니,
처음부터 많은 것을 더하는 것 보단
작은걸 계속 더하는게 좋으니
정렬해서 더하면 되겠다 생각했다.
1. 입력받고
2. 정렬하고
3. 각 순서마다 값을 더한다.
4. 3번에서 더한 값을 계속 더한다.
#include <iostream>
#include <set>
using namespace std;
int main() {
int testcase,output = 0;
cin >> testcase;
multiset<int> input;
for (int i = 0,num; i < testcase; i++) {
cin >> num;
input.insert(num);
}
int sum = 0;
for (multiset<int>::iterator it = input.begin(); it != input.end(); it++) {
sum += *it;
output += sum;
}
cout << output;
return 0;
}
python 공부를 해보자해서 하려는데
python 문법 공부 제대로 안 해봐서 생소했다.
testcase = int(input())
a = list(map(int,input().split()))
a.sort()
sum = 0
output = 0
for i in a:
sum += i
output += sum
print(output)
list(map(int, input().split())))
생각하자. ㅎㅎㅎ
이것 때문에 int형 안 더했다고,, 오류났었따,,
'Coding Test > Problem_solving' 카테고리의 다른 글
[백준] 5585_거스름돈 c++, python (0) | 2021.06.29 |
---|---|
[프로그래머스] 소수 만들기 c++ (0) | 2021.06.29 |
[백준] 9237_이장님 초대 (c++) (0) | 2021.06.16 |
[백준] 2304 창고 다각형 c++ (0) | 2021.04.08 |
[백준] 1373_2진수 8진수 (c++) (0) | 2021.03.11 |