문제 코드 #include #include using namespace std; // 최대공약수 int gcd(int a, int b) { if(b == 0) return a; return gcd(b, a%b); } // 최소공배수 int lcm(int a, int b) { return a*b/gcd(a,b); } vector solution(int n, int m) { vector answer; answer.emplace_back(gcd(n,m)); answer.emplace_back(lcm(n,m)); return answer; } // 또는 int lcm(int a, int b) { return a*b/__gcd(a,b); } vector solution(int n, int m) { vector a..
문제 코드 #include #include std::string solution(std::string s) { std::string answer = ""; sort(s.begin(), s.end(), std::greater()); return s; } 문제 해설 - sort 와 greater() 를 이용해서 정렬시킨다.
문제 코드 #include using namespace std; long long solution(int price, int money, int count) { long long answer = 0; for (int i = 1; i money) answer -= money; else { answer = 0; } return answer; } // 다른 사람 풀이 /*typedef long long ll; long long solution(int price, int money, int count) { ll answer = (ll)(count * (count + 1) / 2) * price; return answer > money ? answer - money : 0; }*/ 문제 해설 - 가우스 공식을 이..
문제 코드 #include #include using namespace std; bool solution(string s) { const regex pattern("^(\\d{4}|\\d{6})$"); return regex_match(s, pattern); } // 다른 사람 풀이 /*bool solution(string s) { bool answer = true; for (int i = 0; i < s.size(); i++) { if (!isdigit(s[i])) answer = false; } return s.size() == 4 || s.size() == 6 ? answer : false; }*/ 문제 해설 - regex 를 이용해서 4자리 또는 6자리 숫자인지 검사 - 또는 isdigit을 이용..
문제 코드 #include #include #include using namespace std; vector solution(vector arr) { vector answer; int i = 0; while (i < arr.size()) { if (answer.empty()) { answer.emplace_back(arr[i++]); } else if (answer.back() != arr[i]) { answer.emplace_back(arr[i++]); } else { answer.pop_back(); i++; } } if (answer.empty()) { answer.emplace_back(-1); } return answer; } 문제 해설 -