-
biweekly Contest 25릿코드(LEETCODE) 2020. 5. 5. 22:34반응형
https://leetcode.com/contest/biweekly-contest-25/
1번 문제 - 1431. Kids With the Greatest Number of Candies
class Solution { public: vector<bool> kidsWithCandies(vector<int>& candies, int extraCandies) { vector<int> A = candies; sort(A.begin(), A.end()); int cMax = A[candies.size()-1]; vector<bool> vb; for(auto a:candies) { int cand = a; if(cand >= cMax|| cand + extraCandies >= cMax) vb.push_back(true); else vb.push_back(false); } return vb; } };
2번 문제 - 1432. Max Difference You Can Get From Changing an Integer
class Solution { public: int find(string S) { for (int i = 0; i < S.size(); i++) { if (S[i] != '9') { return i; } } return 0; } int find2(string S) { for (int i = 0; i < S.size(); i++) { if (S[i] != '1') { if (S[i] == '0') continue; return i; } } return 0; } void S_replace(string& s, char code) { for (int i = 0; i<s.size(); i++) { if (s[i] == code) { s[i] = '9'; } } } void S_replace2(string& s, char code) { for (int i = 0; i < s.size(); i++) { if (s[i] == code) { s[i] = '1'; } } } void S_replace3(string& s, char code) { for (int i = 0; i < s.size(); i++) { if (s[i] == code) { s[i] = '0'; } } } int maxDiff(int num) { string S = to_string(num); int position = find(S); char code = S[position]; string DS = S; S_replace(DS, code); position = find2(S); code = S[position]; if (position == 0) { S_replace2(S, code); } else { S_replace3(S, code); } int sol = abs(atoi(S.c_str()) - atoi(DS.c_str())); return sol; } };
반응형'릿코드(LEETCODE)' 카테고리의 다른 글
LEETCODE - 1089. Duplicate Zeros (0) 2020.06.07 LEETCODE - 1470. Shuffle the Array (0) 2020.06.07 weekly-contest-187 (0) 2020.05.05 485. Max Consecutive Ones (0) 2020.05.02 jewels and stone (0) 2020.05.02