목록코딩테스트 (73)
bdfgdfg
#include #include using namespace std; int solution(int n) { int answer = 0; int sum,j; for(int i = 1; i n) break; sum += j; ++j; } } return answer; }
#include #include #include using namespace std; string solution(string s) { string answer = ""; int len = s.size(); int j; vector num; for (int i = 0; i < len; ++i) { int j; if (s[i] == ' ') continue; if (s[i] == '-') { string k = ""; k += '-'; j = ++i; while (s[j] != ' ' && j != len) { k += s[j]; ++j; } num.push_back(stoi(k)); i = j; } else { string k = ""; j = i; while (s[j] != ' ' && j != len..
#include #include #include using namespace std; int solution(vector A, vector B) { int answer = 0; sort(A.begin(),A.end()); sort(B.begin(),B.end()); int len = A.size(); for(int i = 0; i < len; ++i) { answer += A[i] * B[len - i - 1]; } return answer; } 두 수를 곱하면서 더한 값이 최솟값이 되게 만들어야한다. 즉 곱하는 두 수가 최대한 작아야한다는 의미. 서로 작은 수 끼리 곱해서 더해봤자 점점 커지는 수 끼리 곱해지기에 의미가 없다. 그렇기에 최대한 큰 수를 가장 작은 수와 매번 곱해주는게 이 문제의 해결방법..
#include using namespace std; int main(void) { int a, b, c; cin >> a >> b >> c; if (a == b && b == c) { cout a >> b; cin >> time; if (time >= 60) { h = time / 60; m = time % 60; } else { h = 0; m = time; } a += h; b += m; if (b >= 60) { b = b - 60; a += 1; } if (a >= 24) { a = a - 24; } cout