코드
#include <vector>
#include <algorithm> // sort()
using namespace std;
int solution(int n, vector<int> lost, vector<int> reserve) {
for(int i=0;i<lost.size();i++){
for(int j=0;j<reserve.size();j++){
if(lost[i]==reserve[j]){ // lost의 값과 reserve의 값이 같은 경우에는 vector에서 제거
lost.erase(lost.begin()+i);
reserve.erase(reserve.begin()+j);
i=i-1; // lost 제거한 값에 맞게 i값 조정
j=j-1; // reserve 제거한 값에 맞게 j값 조정
break;
}
}
}
sort(lost.begin(),lost.end()); // 오름차순 정렬
sort(reserve.begin(),reserve.end()); // 오름차순 정렬
for(int i=0; i<lost.size();i++){
for(int j=0; j<reserve.size();j++){
if(lost[i]-1==reserve[j] || lost[i]+1 ==reserve[j]){ // +1, -1 연산 후 같은 경우 vector에서 제거
lost.erase(lost.begin()+i);
reserve.erase(reserve.begin()+j);
j=j-1; // lost 제거한 값에 맞게 i값 조정
i=i-1; // reserve 제거한 값에 맞게 j값 조정
break;
}
}
}
int answer=n-lost.size(); // n에서 lost에 남은 체육복을 도난당한 학생의 수를 빼면 결과 값
return answer;
}
'C++ > programmers 코딩테스트(level 1) C++' 카테고리의 다른 글
[C/C++] programmers Level 1 둘만의 암호 (0) | 2023.11.05 |
---|---|
[C/C++] programmers Level 1 햄버거 만들기 (0) | 2023.11.04 |
[C/C++] programmers Level 1 문자열 나누기 (2) | 2023.10.30 |
[C/C++] programmers Level 1 숫자 짝꿍 (0) | 2023.10.26 |
[C/C++] programmers Level 1 [1차] 다트 게임 (0) | 2023.10.25 |