반응형
https://programmers.co.kr/learn/courses/30/lessons/12987
알고리즘 연습 - 숫자 게임 | 프로그래머스
실행 결과가 여기에 표시됩니다.
programmers.co.kr
A팀과 B팀의 숫자를 오름차순으로 sort 한뒤,
A팀의 작은 숫자부터 순회하면서 B팀에서 작은 숫자부터 비교하여, B팀에서 더 큰 숫자가 나오자마자, answer에 ++하고,
다음 B팀에서의 순회는 B팀에서 이전에 큰 숫자가 나온 index 다음 index부터 탐색해나간다.
구현코드
구현코드_ C++로 작성
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
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 tmp = 0;
for(int i = 0; i < A.size(); i++){
for(int j = tmp ; j < B.size(); j++){
if(A[i]<B[j]){
tmp = j+1;
answer++;
if(tmp>=B.size()){ // 종료 조건
return answer;
}
break;
}
}
}
return answer;
}
int main(){
cout<<solution({2,2,2,2},{1,1,1,1});
return 0;
}
반응형
'알고리즘_개념 및 문제풀이 ' 카테고리의 다른 글
백준온라인저지(BOJ)/#9613//GCD(최대공약수)/C++/유클리드 호제법(Euclidean Algorithm) (0) | 2019.08.04 |
---|---|
완전 탐색- 재귀함수를 이용한 완전 탐색(기본 개념) (0) | 2019.06.07 |
프로그래머스/2018서머코딩기출/예산 (0) | 2019.05.08 |
프로그래머스/윈터코딩2018기출/쿠키구입/C++ (0) | 2019.05.08 |
프로그래머스/윈터코딩2018기출/방문길이/해시를 이용한 풀이/C++ (0) | 2019.05.08 |