목록코딩테스트 (73)
bdfgdfg
#include #include #include #include using namespace std; struct Compare // 함수 객체 { bool operator()(const pair& lhs, pair& rhs) { if (lhs.second == rhs.second) return lhs.first < rhs.first; else return lhs.second < rhs.second; } }; vector solution(vector strings, int n) { vector answer; const int LEN = strings.size(); vector data; data.reserve(LEN); for (int i = 0; i < LEN; ++i) { data.push_back(..
#include #include using namespace std; bool solution(string s) { bool answer = true; int len = s.size(); int pCount = 0, yCount = 0; for(int i = 0; i < len; ++i) { if(s[i] == 'p' || s[i] == 'P') ++pCount; else if(s[i] == 'y' || s[i] == 'Y') ++yCount; } if(pCount != yCount) answer = false; return answer; } 다른 사람의 코드를 보면 다 비슷하게 풀었더라.
#include #include #include using namespace std; string solution(string s) { sort(s.begin(),s.end(),greater()); return s; } greater는 내림차순. less는 오름차순. 다른 사람의 풀이중 람다를 사용한 풀이를 보았는데. 저런식으로. 함수 포인터(함수 객체등)를 만드는 연습을 해야겠다. sort(s.begin(),s.end(),[](const char& lhs, const char& rhs) { return lhs>rhs; }); 위의 방법을 응용한 람다가아닌 함수 객체 struct boo { bool operator()(const char& lhs, const char& rhs) { return lhs >..
#include #include using namespace std; string solution(vector seoul) { string answer = ""; int len = seoul.size(); for(int i = 0; i < len; ++i) { if(seoul[i] == "Kim") { answer = answer + "김서방은 " + to_string(i) + "에 있다"; break; } } return answer; } 좋은 문제라고 생각한다. 나는 처음에 static_cast(i + '0')식으로 풀었지만 풀리지 않았다. 곰곰히 생각해보니 아스키코드에서 10을 넘어가는 수를 표현하지 않았으니 문제가 발생. 그래서 string형으로 변환해준 후 집어넣어주었다.