728x90
https://www.acmicpc.net/problem/2592
2592번: 대표값
어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30, 20, 60, 30, 40, 50의 평균은
www.acmicpc.net
파이썬의 딕셔너리, C++ 에서의 map 을 이용하면 풀 수 있습니다.
#include <iostream>
#include <map>
using namespace std;
int main(void)
{
// 합 기록
int sum{};
// 파이썬의 딕셔너리와 비슷
map<int, int> count_map;
for (int i = 0; i < 10; i++)
{
// 입력
int num{};
cin >> num;
// 합
sum += num;
// 딕셔너리에 기록, 이미 존재하면 +1 존재하지 않으면 1
auto iter = count_map.find(num);
if (iter == count_map.end()) count_map[num] = 1;
else count_map[num] += 1;
}
// key, value 순회하며 최댓값 갱신
int max_key{};
int max_value{};
for (auto iter = count_map.begin(); iter != count_map.end(); iter++)
{
if (iter->second > max_value)
{
max_key = iter->first;
max_value = iter->second;
}
}
cout << sum/10 << "\n" << max_key;
}
728x90
'Coding Test > BaekJoon_C++' 카테고리의 다른 글
백준 11657 <타임머신> C++ (0) | 2024.03.14 |
---|---|
백준 9935 <문자열 폭발> C++ (0) | 2024.03.13 |
백준 1967 <트리의 지름> C++ (0) | 2024.03.03 |
백준 1504 <특정한 최단 경로> C++ (1) | 2024.02.29 |
백준 1753 <최단경로> C++ (0) | 2024.02.29 |