2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

자격증/COS Pro

COSPro 2급 C++] 2차 문제1) 최대한 많은 쌍의 장갑 갯수 구하기 - C++

파아란기쁨1 2022. 7. 12. 18:56
반응형

https://edu.goorm.io/learn/lecture/17165/cos-pro-2%EA%B8%89-%EA%B8%B0%EC%B6%9C%EB%AC%B8%EC%A0%9C-c/lesson/830152/2%EC%B0%A8-%EB%AC%B8%EC%A0%9C1-%EC%B5%9C%EB%8C%80%ED%95%9C-%EB%A7%8E%EC%9D%80-%EC%8C%8D%EC%9D%98-%EC%9E%A5%EA%B0%91-%EA%B0%AF%EC%88%98-%EA%B5%AC%ED%95%98%EA%B8%B0-c

 

goorm

구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다.

goorm.co

#include <iostream>
#include <string>
#include <vector>

using namespace std;

const int max_product_number = 10;

vector<int> func_a(vector<int> gloves){
    int gloves_len = gloves.size();
    vector<int> counter(max_product_number + 1, 0);
    
    for(int i = 0; i < gloves_len; ++i)
        counter[gloves[i]]++;
    
    return counter;
}

int min(int a, int b){
    return a < b ? a : b;
}

int solution(vector<int> left_gloves, vector<int> right_gloves) {
    vector<int> left_counter = func_a(left_gloves);
    vector<int> right_counter = func_a(right_gloves);
    int total = 0;
    for(int i = 1; i <= max_product_number; ++i)
        total += min(left_counter[i], right_counter[i]);
    return total;
}

// 아래는 테스트케이스 출력을 해보기 위한 main 함수입니다.
int main() {
    vector<int> left_gloves = {2, 1, 2, 2, 4};
    vector<int> right_gloves = {1, 2, 2, 4, 4, 7};
    int ret = solution(left_gloves, right_gloves);

    // [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
    cout << "solution 함수의 반환 값은 " << ret << " 입니다." << endl;
}
반응형