2021.10.21_10505-소득불균형
본문 바로가기
알고리즘 모음집/New 알고리즘

2021.10.21_10505-소득불균형

by KyeongMin 2021. 10. 21.
728x90
반응형

소스코드

#include<iostream>
#include<map>
#include<stdio.h>
#include<string.h>
using namespace std;
#define SIZE 100001
int answer;//결과값 저장
int people[SIZE];
int N;
map<int, int>peopleMap;
void init();//초기화 및 초기 입력
void money();//돈 계산
int main()
{
	int test_case;
	int T;

	scanf("%d", &T);
	for (test_case = 1; test_case <= T; ++test_case)
	{
		init();
		money();
		printf("#%d %d\n", test_case, answer);

	}
	return 0;//정상종료시 반드시 0을 리턴해야합니다.
}
void init() {
	N = answer = 0;
	peopleMap.clear();
	memset(people, 0, sizeof(people));
	scanf("%d", &N);

}
void money() {
	int sum = 0;
	for (int n = 0; n < N; n++) {
		int num;
		scanf("%d", &num);
		sum += num;
		peopleMap[num]++;
	}
	double sumResult = (double)(sum / N);
	for (auto iter: peopleMap) {
		if (iter.first <= sumResult) {
			answer += iter.second;
		}
	}
}

설계

  • 우선 설계하기전에 정수형으로 충분히 받을 수 있는지 확인
  • 그리고 나서 처음에는 배열에 전부 넣고 하려다가 map 즉 , 해시를 이용해서 몇개인지 판별해서
  • 그 해시에 저장된 데이터만 조건에 맞게 더하자 해서 map을 이용해서 데이터를 저장했고,
    • 평균을 구해서 평균보다 작은경우의 숫자를 저장해서 출력했음

실수

  • 실수 없었음
  • 아직 이게 auto를 하고 하는게 익숙하지는 않는것 같다 익숙해졌으면 좋겠음

문제 링크

10505-소득불균형

원본

https://github.com/3DPIT/AlgorithmFinal/blob/main/02.algorithmStudy/1021/01.10505-%EC%86%8C%EB%93%9D%EB%B6%88%EA%B7%A0%ED%98%95/2021.10.21_10505-%EC%86%8C%EB%93%9D%EB%B6%88%EA%B7%A0%ED%98%95.md

 

GitHub - 3DPIT/AlgorithmFinal

Contribute to 3DPIT/AlgorithmFinal development by creating an account on GitHub.

github.com

 

728x90
반응형

'알고리즘 모음집 > New 알고리즘' 카테고리의 다른 글

2021.10.22_11736-평범한숫자  (0) 2021.10.22
2021.10.21_9940-순열1  (0) 2021.10.21
21.10.20_11315-오목판정  (0) 2021.10.21
2021.10.20_11856-반반  (0) 2021.10.21
2021.10.19_12004-구구단1  (0) 2021.10.19

댓글