반응형
포인트
1.잘 구현을 할 수 있는가?
2. 해시를 이용하여 다시 구현을 해보았다.
🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다.
#include <string>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
string solution(vector<string> participant, vector<string> completion) {
sort(participant.begin(), participant.end());
sort(completion.begin(), completion.end());
int num = 0;
for(int i=0; i < participant.size(); i++){
if( participant[i] != completion[i]) return participant[i];
}
return participant[participant.size()];
}
해시를 사용한 방법
#include <bits/stdc++.h>
using namespace std;
string solution(vector<string> participant, vector<string> completion) {
string answer = "";
unordered_map<string, int> map;
for(auto ele : participant){
if(map.find(ele)==map.end()){
map.insert({ele, 1});
} else{
map[ele]+=1;
}
}
for(auto ele: completion){
map[ele]-=1;
}
for(auto ele : participant){
if(map[ele]>0) return ele;
}
}
python
def solution(participant, completion):
dict1 = dict()
for ele in participant:
dict1[ele] = dict1.get(ele, 0) + 1
for ele in completion:
dict1[ele] -= 1
for i, ele in dict1.items():
if ele > 0:
return i
반응형
'알고리즘' 카테고리의 다른 글
[알고리즘] 짝지어 제거하기 (0) | 2021.01.28 |
---|---|
[알고리즘 ] Concatenation of Consecutive Binary Numbers (0) | 2021.01.28 |
[알고리즘] Sqrt(x) (0) | 2021.01.22 |
[알고리즘] 문자열 다루기 (0) | 2021.01.22 |
[알고리즘] 핸드폰 번호 가리기 (0) | 2021.01.22 |
댓글