문제 코드 #include #include #include #include using namespace std; vector solution(vector numbers) { vector answer; set tempSet; for (int i = 0; i < numbers.size(); ++i) { for (int j = i + 1; j < numbers.size(); ++j) { tempSet.emplace(numbers[i] + numbers[j]); } } for (const auto& number : tempSet) { answer.emplace_back(number); } return answer; } 문제 해설 - 두 개를 더할 때 중복되지 않게 set을 이용 후 answer에 넣어준다.
문제 코드 #include #include #include using namespace std; int solution(string t, string p) { int answer = 0; long long t_length = t.length(); long long p_length = p.length(); long long num = stoll(p); for (int i = 0; i
문제 코드 #include using namespace std; string solution(string s) { string answer = ""; int index = 0; for (char& i : s) { if (i == ' ') { index = 0; continue; } i = index & 1 ? (char)tolower(i) : (char)toupper(i); index++; } } 문제 해설 - string 을 foreach 로 순회한다. - 단어마다 몇번째 인덱스인지 알 수 있도록 int index 선언 - 만약 i 가 " "가 공백이면 index 를 초기화 시키고 continue; - index가 홀수라면 i를 소문자로 변환 -> tolower(i) - index가 짝수라면 i를 대문..
문제 코드 #include #include #include using namespace std; int solution(vector d, int budget) { int answer = 0; sort(d.begin(), d.end()); for (const int i : d) { if (budget < i) { break; } budget -= i; answer++; } return answer; } 문제 해설 - 최대한 많은 부서가 구매할 수 있도록 신청한 금액이 제일 적은 것이 먼저 오도록 sort 함수로 정렬해준다. - 그 후 foreach 로 예산을 금액만큼 차감한다. 그리고 횟수를 더한다. - 만약 남은 예산보다 i 가 클경우 중단한다.