프로그래머스에서 완료하지 못한 선수 문제를 해결했다.
해시 항목에 포함되어 있어서 해시를 이용해서 짜는 중 코드가 개판이 되어가고 있었다… 그러면서 C++에 해시 맵이 있다는 것도 알게되었는데, 아무도 이 해시 맵을 사용해서 해결하지 않았다.
검색으로 알게된 방법이 효율성이 좋은 것같아 그냥 이를 이용해서 문제를 해결했다. Java로는 해시를 써서 해결한 분이 있었다. 코드들을 잘 정리해 놓은 포스팅이 도움이 되었다.
participant가 completion에 있는 내용보다 한 한목이 더 많고 나머지는 동일 하므로 정렬 한 후 일치하지 않을경우 완주하지 못한 사람이다.
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(vector<string> participant, vector<string> completion) {
string answer = "";
sort(participant.begin(), participant.end());
sort(completion.begin(), completion.end());
for (int i = 0; i < participant.size(); i++) {
if (participant[i] != completion[i]) {
answer += participant[i];
break;
}
}
return answer;
}
'프로그래밍 > 코딩테스트 문제' 카테고리의 다른 글
[프로그래머스] 다리를 지나는 트럭 (0) | 2019.10.28 |
---|---|
[프로그래머스] 위장문제 (0) | 2019.10.28 |
[프로그래머스] 타켓넘버 (0) | 2019.10.13 |
[프로그래머스] 베스트 앨범 (0) | 2019.10.13 |
[프로그래머스] 전화번호 목록 (0) | 2019.09.14 |