https://school.programmers.co.kr/learn/courses/30/lessons/1845
map 사용
#include <map>
ms 설명 링크 참고
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#include <vector>
#include <map>
#include <algorithm>
using namespace std;
int solution(vector<int> nums)
{
int answer = 0;
map<int, int> m;
sort(nums.begin(), nums.end());
int len = nums.size();
for (int i = 0; i < len; i++)
{
auto iter = m.find(nums[i]);
if (iter != m.end())
iter->second += 1;
else
m.insert(make_pair(nums[i], 1));
}
int m_len = m.size();
if (len/2 > m_len)
answer = m_len;
else
answer = m_len - ( m_len - (len/2) );
return answer;
}
|
cs |
unordered_set 사용
#include <unordered_set>
ms 설명 링크 참고
1
2
3
4
5
6
7
8
|
#include <bits/stdc++.h>
using namespace std;
int solution(vector<int> nums) {
unordered_set<int> s(nums.begin(), nums.end());
return min(nums.size() / 2, s.size());
}
|
cs |
'NOTE > Algorithm' 카테고리의 다른 글
[프로그래머스] 가장 가까운 같은 글자 _ C++ (0) | 2024.05.12 |
---|---|
[visualgo.net] 자료구조와 알고리즘의 시각화 사이트 (0) | 2024.05.10 |
SW Expert _ 1024번 문제 (0) | 2018.04.01 |
[알고리즘문제] acmicpc_벌집 (0) | 2018.04.01 |
[알고리즘문제] acmicpc_단어의개수 (0) | 2018.04.01 |