-
Birthday Cake Candles해커랭크(HackerRank) 2018. 8. 19. 17:42반응형
1. 문제
2. 알고리즘
키워드 - 구현
3. 코드
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788#include <bits/stdc++.h>using namespace std;vector<string> split_string(string);/** Complete the birthdayCakeCandles function below.*/int birthdayCakeCandles(int n, vector<int> ar) {/** Write your code here.*/int high = 0;int count = 0;for(int i =0; i<n; i++) {int cand = ar[i];if(cand > high) {high = cand;count = 1;} else if(high == cand) {count++;}}return count;}int main(){ofstream fout(getenv("OUTPUT_PATH"));int n;cin >> n;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(n);for (int ar_itr = 0; ar_itr < n; ar_itr++) {int ar_item = stoi(ar_temp[ar_itr]);ar[ar_itr] = ar_item;}int result = birthdayCakeCandles(n, 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)' 카테고리의 다른 글
Staircase (0) 2018.08.19 Mini-Max Sum (0) 2018.08.19 Time Conversion (0) 2018.08.19 Grading Students (0) 2018.08.19 Day 0: Mean, Median, and Mode (0) 2018.08.19