Aracade Intro #46 electionsWinners. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제, example, c++ java c# scalar
Q.
투표가 진행 중이다!
지금까지 각 후보자들에게 주어진 표 수의 배열과, 아직 투표하지 않은 사람들의 수인 정수 k 를 보고, 아직 승리할 가능성이 있는 후보자들의 수를 구하여라.
투표의 승자는 동일한 수의 득표는 인정하지 않는다. 두명이나 그 이상의 후보자들이 같은 득표수를 갖고 있다면, 승자는 없는 것이다.
e.g.
Input -> votes = [2, 3, 5, 2] and k = 3
Output -> electionsWinners(votes, k) = 2.
The first candidate got 2 votes. Even if all of the remaining 3 candidates vote for him, he will still have only 5 votes, i.e. the same number as the third candidate, so there will be no winner.
The second candidate can win if all the remaining candidates vote for him (3 + 3 = 6 > 5).
The third candidate can win even if none of the remaining candidates vote for him. For example, if each of the remaining voters cast their votes for each of his opponents, he will still be the winner (the votes array will thus be [3, 4, 5, 3]).
The last candidate can't win no matter what (for the same reason as the first candidate).
Thus, only 2 candidates can win (the second and the third), which is the answer.
첫번째 후보자는 득표수가 2이다. 만약 3개의 남은 표가 그에게 다 돌아가더라도, 그는 5개 득표밖에 안된다, 하지만 이미 5 득표를 한 사람이 있기 때문에 승자가 없다.
두번째 후보자는 나머지 표를 다 가져가면 이길 수 있다.
세번째 후보자는 아무도 더 투표해주지 않아도 이미 이겨있다. 나머지 사람들에게 하나씩 투표해주더라도 세번째 후보자는 승자이다.
네번째 후보자는 첫번째 후보자와 같이 이길 수 없다.
//Process
//처리과정
//1. 벡터와 정수를 입력받는다.
//2. 가장 많은 득표수를 찾는다.
//3. 시작부터 끝까지 반복한다.
// 3.1. 해당 인덱스 득표수 + k 가 가장 큰 득표수보다 큰지 확인해서
// 3.1.1. 더 크면 -> count를 센다
//4. count 를 출력한다.
Code.. Lemme see code!!!!!
코드.. 코드를 보자!!!!!
int electionsWinners(std::vector<int> votes, int k) {
int count = 0;
//Need to edit ( solution 2)
// int biggest_element = *max_element(votes.begin(),votes.end());
// for (int i = 0; i < votes.size(); ++i)
// {
// if (biggest_element < votes[i] + k || votes[i] == biggest_element)
// {
// ++count;
// }
// }
for (int i = 0; i < votes.size(); ++i)
{
int number = votes.at(i) + k;
// cout << number;
bool hasBiggerOne = 0;
for (int j = 0; j < votes.size() && hasBiggerOne == 0; ++j)
{
if (i != j && number <= votes.at(j))
{
hasBiggerOne = 1;
}
}
if (hasBiggerOne == 0)
{
++count;
}
}
return count;
}
Something else you might like..
2018/12/16 - [Life/Health care] - L-Arginine 아르기닌 usage/side effects/dosage 효능/부작용/성인,소아 용법(2)
2018/12/06 - [Life/Health care] - Vitamin C 비타민 씨 usage/side effects/dosage 용법/효능/부작용
2018/12/02 - [Life/Health care] - Maca 마카 usage/side effects/dosage 효능/부작용/용법