-
Simple Array Sum해커랭크(HackerRank) 2018. 8. 19. 17:49반응형
1. 문제
입력으로 들어오는 모든 원소의 합을 구하는 문제
2. 알고리즘
키워드 - 구현
3. 코드
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879#include <bits/stdc++.h>using namespace std;vector<string> split_string(string);/** Complete the simpleArraySum function below.*/int simpleArraySum(vector<int> ar) {/** Write your code here.*/const int kSize = ar.size();int sum = 0;for(int i=0; i<kSize; i++) {sum += ar[i];}return sum;}int main(){ofstream fout(getenv("OUTPUT_PATH"));int ar_count;cin >> ar_count;cin.ignore(numeric_limits<streamsize>::max(), '\n');string ar_temp_temp;getline(cin, ar_temp_temp);vector<string> ar_temp = split_string(ar_temp_temp);vector<int> ar(ar_count);for (int ar_itr = 0; ar_itr < ar_count; ar_itr++) {int ar_item = stoi(ar_temp[ar_itr]);ar[ar_itr] = ar_item;}int result = simpleArraySum(ar);fout << result << "\n";fout.close();return 0;}vector<string> split_string(string input_string) {string::iterator new_end = unique(input_string.begin(), input_string.end(), [] (const char &x, const char &y) {return x == y and x == ' ';});input_string.erase(new_end, input_string.end());while (input_string[input_string.length() - 1] == ' ') {input_string.pop_back();}vector<string> splits;char delimiter = ' ';size_t i = 0;size_t pos = input_string.find(delimiter);while (pos != string::npos) {splits.push_back(input_string.substr(i, pos - i));i = pos + 1;pos = input_string.find(delimiter, i);}splits.push_back(input_string.substr(i, min(pos, input_string.length()) - i + 1));return splits;}cs 반응형'해커랭크(HackerRank)' 카테고리의 다른 글
Ransom Note (0) 2019.03.12 Left Rotation (0) 2019.03.12 Compare the Triplets (0) 2018.08.19 A Very Big Sum (0) 2018.08.19 Diagonal Difference (0) 2018.08.19