코드
#include <string>
#include <vector>
#include <algorithm> // sort()
using namespace std;
string solution(string X, string Y) {
string answer = "";
vector<int> num(10,0); // 0~9 범위로 X, Y 값을 카운트
for(int i=0;i<X.size();i++){
num[X[i]-'0']++; // X[i] 값 ++ 연산
}
for(int i=Y.size()-1;i>=0;i--){
num[Y[i]-'0']--; // Y[i] 값 -- 연산
if(num[Y[i]-'0']>=0){
answer.push_back(Y[i]); // 0보다 크거나 같을 때 answer값에 추가
}
}
sort(answer.begin(),answer.end(),std::greater<int>()); // answer string 값 내림차순 정렬
if(answer==""){ // 짝꿍이 존재하지 않은 경우
answer="-1";
}else if(answer[0]=='0'){ // 공통된 숫자는 0으로만 구성된 경우
answer="0";
}
return answer;
}
'C++ > programmers 코딩테스트(level 1) C++' 카테고리의 다른 글
[C/C++] programmers Level 1 체육복 (0) | 2023.10.31 |
---|---|
[C/C++] programmers Level 1 문자열 나누기 (2) | 2023.10.30 |
[C/C++] programmers Level 1 [1차] 다트 게임 (0) | 2023.10.25 |
[C/C++] programmers Level 1 실패율 (0) | 2023.10.24 |
[C/C++] programmers Level 1 로또의 최고 순위와 최저 순위 (0) | 2023.10.18 |