오답노트
프로그래머스 1단계 - 완주하지 못한 선수 본문
https://programmers.co.kr/learn/courses/30/lessons/42576?language=cpp
- 문제 파악
마라톤 경기에 참가한 선수와 완주한 선수의 이름을 각각 배열로 주어진다. 이 때 완주하지 못한 선수의 이름을 출력하라.
(모든 경우에 1명만 완주하지 못했다)
- 정답
처음엔 이중for로 풀었는데 시간이 너무 오래 걸려서 집합 관련 함수를 사용했다.
그런데 제대로 차집합을 출력해지 못해서 오름차순으로 정렬하니 해결됐다.
#include "bits/stdc++.h"
using namespace std;
string solution(vector<string> participant, vector<string> completion) {
string answer = "";
vector<string> vec(1);
sort(participant.begin(), participant.end());
sort(completion.begin(), completion.end());
auto iter = set_difference(participant.begin(), participant.end()
, completion.begin(), completion.end(), vec.begin());
answer = vec[0];
return answer;
}
'C,C++ > 코딩테스트' 카테고리의 다른 글
프로그래머스 1단계 - 내적 (0) | 2022.06.01 |
---|---|
프로그래머스 1단계 - 소수 만들기 (0) | 2022.06.01 |
프로그래머스 1단계 - K번째수 (0) | 2022.05.31 |
프로그래머스 - 1단계 - 완전탐색 (0) | 2022.05.30 |
프로그래머스 1단계 - 폰켓몬 (0) | 2022.05.29 |