출처 : 코딩 테스트 연습 -> 코딩테스트 연습 - 완주하지 못한 선수 | 프로그래머스 (programmers.co.kr)
###2021.07.15 내용 추가 합니다.
효율 적인 방법은 분명히 아닌거 같습니다.. -_-;; 이해도 못하고 어거지로 통과를 한거 같습니다 -_-;;; ...
#include <iostream>
#include <string>
#include <array>
#include <vector>
#include <functional>
#include <algorithm>
using namespace std;
string solution(vector<string> participant, vector<string> completion) {
//string answer = "";
//TODO
vector<string> out;
sort(participant.begin(), participant.end());
sort(completion.begin(), completion.end());
int idxx = 0;
std::for_each(participant.cbegin(), participant.cend(), [&](string strTemp) {
auto it = find_if(completion.cbegin() + idxx, completion.cend(), [&](string strFind) {
if (strTemp == strFind) return true;
else return false;
});
if (it != completion.cend())
idxx++;
else
out.push_back(strTemp);
});
/*
if(out.size() > 0 )
answer = out.at(0);
*/
return out.at(0);
}
###########################################
# 2021.07.08 이전 작성 내용 입니다.
###########################################
아래 제가 작성한 내용은 잘못 된 코드입니다 죄송합니다 -_-;;;;. 현재 수정 방안을 찾고 있습니다 .
중복 된 이름 [ 동명 이인 ] 존재 시에 처리가 잘못 되었습니다. ....
---------------------------------------------------------------------------------------------------
입력값 〉 ["mislav", "stanko", "mislav", "ana"], ["stanko", "ana", "mislav"]
기댓값 〉 "mislav"
실행 결과 〉 실행한 결괏값 ""이(가) 기댓값 "mislav"와(과) 다릅니다.
---------------------------------------------------------------------------------------------------
#include <iostream>
//
#include <string>
#include <array>
#include <vector>
#include <functional>
#include <algorithm>
int main()
{
std::vector<std::string> participant = { "leo", "kiki", "eden","kiki" };
std::vector<std::string> completion = { "leo", "kiki" };
/*
std::for_each(participant.cbegin(), participant.cend(), [&](std::string str) {
std::cout << str << std::endl;
});
*/
std::vector<std::string> out;
bool bCompResult = false;
std::copy_if(participant.cbegin(), participant.cend(), std::back_inserter(out) , [&] (const std::string &str) {
bCompResult = false;
std::for_each(completion.cbegin(), completion.cend(), [&](std::string strCompletion) {
if (strCompletion == str) {
bCompResult = true;
return;
}
});
return !bCompResult;
});
std::for_each(out.cbegin(), out.cend(), [](std::string str) {
std::cout << str << std::endl;
});
}
'C++' 카테고리의 다른 글
[C++/WinRt] Windows Toolkit - Windows.Data.Pdf 를 이용한 PDF To Bitmap 변환 예제 (0) | 2024.07.29 |
---|---|
코딩테스트 연습->탐욕법(Greedy)->체육복 (0) | 2021.09.01 |
코딩테스트 연습->해시->위장 (0) | 2021.08.30 |
코딩테스트연습->정렬->K번째수 (0) | 2021.07.22 |
코딩테스트연습->전화번호 목록 (0) | 2021.07.20 |