본문 바로가기

프로그래머스 풀이/Lv 3

[프로그래머스LV3] 숫자 게임 (C++)

728x90

https://school.programmers.co.kr/learn/courses/30/lessons/12987

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

A와 B를 정렬하고 

 

A와 맞으면 둘 다 인덱스 ++ 아니면 B만 ++ 해보는 방식으로 풀면 된다. 문제 유형은 Greedy로 생각된다.

 

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int solution(vector<int> A, vector<int> B) {
    int answer = 0;
    
    sort(A.begin(), A.end());
    sort(B.begin(), B.end());
    
    for(int i = 0, j = 0; i < A.size() && j < B.size();){
        if(A[i] < B[j]){
            answer++;
            i++;
            j++;
        }else{
            j++;
        }
    }
    
    return answer;
}