자기개발👨‍💻/코딩 알고리즘

[python, C++] 백준 2592 대표값

천숭이 2022. 1. 30. 18:27

https://www.acmicpc.net/problem/2592

 

2592번: 대표값

어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30, 20, 60, 30, 40, 50의 평균은

www.acmicpc.net

 

- python

import sys
numbers = []
element = {}
for i in range(10) :
    tmp = int(sys.stdin.readline())
    numbers.append(tmp)
    if tmp not in element:
        element[tmp] = 0
    else :
        element[tmp] +=1
print(int(sum(numbers)/10))
element = sorted(element.items(), key = lambda x : x[1])
print(element[-1][0])

- C++

#include<iostream>
#include<vector>
#include<string>
#include<string.h>
#include<algorithm>
using namespace std;

int main(void) {
	vector<int> v;
	vector<int> numbers (100,0);
	int tmp;
	int Sum = 0;

	for (int i = 0; i < 10; i++) {
		cin >> tmp;
		v.push_back(tmp);
		numbers[tmp/10] += 1;
		Sum += tmp;
	}

	cout << int(Sum / 10) <<endl;

	// 반복자로 구성되어 있으므로 최대값을 가리키는 맨 처음 begin을 빼야한다 (?)
	int max_index = max_element(numbers.begin(), numbers.end()) - numbers.begin();

	cout << max_index*10;
}