알고리즘/PS - 프로그래머스

[프로그래머스 - C++] 숫자 게임

excited-hyun 2021. 7. 27. 10:38
반응형

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

 

코딩테스트 연습 - 숫자 게임

xx 회사의 2xN명의 사원들은 N명씩 두 팀으로 나눠 숫자 게임을 하려고 합니다. 두 개의 팀을 각각 A팀과 B팀이라고 하겠습니다. 숫자 게임의 규칙은 다음과 같습니다. 먼저 모든 사원이 무작위로

programmers.co.kr

 

풀이

 

브루트포스로 전부 비교했더니 효율성에서 문제가 생겼다.

그래서 우선 A와 B를 모두 오름차순 정렬하고 차례로 비교해가는 방식으로 문제를 해결하였다.

 

#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());
    
    int a_size = A.size();
    int b_size = B.size();
    
    
    int idx = 0;
    for(int i=0; i<b_size; i++){
    	//B의 승리
        if(B[i] > A[idx]){
            answer++;
            idx++;
        }
    }
    
    return answer;
}
728x90
반응형