https://school.programmers.co.kr/learn/courses/30/lessons/132265
#include <string>
#include <vector>
#include <map>
#include <algorithm>
#include <numeric>
using namespace std;
int solution(vector<int> topping) {
map<int, int> a, b;
std::for_each(topping.begin(), topping.end(), [&](const auto& t) { ++b[t]; });
return std::accumulate(topping.begin(), topping.end(), 0, [&](auto acc, const auto& t) {
++a[t], --b[t];
if (b[t] == 0) b.erase(t);
return (a.size() == b.size()) ? acc + 1 : acc;
});
}
'Coding Test > Programmers' 카테고리의 다른 글
[Programmers] (정렬) Lv 2. 가장 큰 수 (0) | 2023.07.24 |
---|---|
[Programmers] (스택/큐) Lv 2. 다리를 지나는 트럭 (0) | 2023.07.23 |
[Programmers] (월간 코드 챌린지 시즌2) Lv 2. 2개 이하로 다른 비트 (0) | 2023.07.21 |
[Programmers] Lv 2. 숫자 변환하기 (0) | 2023.07.20 |
[Programmers] Lv 2. 2 x N 타일링 (0) | 2023.07.19 |
댓글