[알고리즘_#1] 숫자 배열 중 과반수 찾기
문제 : 숫자 배열중 중복된 숫자를 찾고 과반수를 넘겼을 시 반환 아닐 시 -1 을 반환 하는 메소드 만들기
과반수 = 배열 길이 n 의 나누기 2
Ex) 3, 5, 3, 3, 3, 4, 3, 1
* 과반수 8 / 2 = 4
* 반환값 = 3
1, 5, 3, 6, 3, 4, 3, 1
* 과반수 8 / 2 = 4
* 반환값 = -1
-> 코딩
class Program
{
public static int[] arr1 = { 3, 5, 3, 3, 3, 4, 3, 1 };
public static int[] arr2 = { 1, 5, 3, 6, 3, 4, 3, 1 };
public static void Main(string[] args)
{
Console.WriteLine("첫번째 배열 1, 5, 3, 3, 3, 4, 3, 1 중 과반수 {0}", Solution(arr1));
Console.WriteLine("두번째 배열 1, 5, 3, 6, 3, 4, 3, 1 중 과반수 {0}", Solution(arr2));
}
private static int Solution(int[] nums)
{
int result = 0;
int majorityNum = (nums.Length / 2);
foreach (int item in nums.Distinct().ToArray())
{
int vv = nums.Count(x => x == item);
if (vv > majorityNum)
{
result = item;
break;
}
else
{
result = -1;
continue;
}
}
return result;
}
}
-> 결과
'알고리즘 > C#' 카테고리의 다른 글
[C#] 다리를 지나가는 트럭 - 프로그래머스 (0) | 2020.09.28 |
---|---|
[C#] 기능 개발- 프로그래머스 (0) | 2020.09.26 |
[C#] 주식가격 - 프로그래머스 (0) | 2020.09.23 |
[C#] 위장 - 프로그래머스 (0) | 2020.09.21 |
[C#] 자리수 더하기 - 프로그래머스 (0) | 2020.09.13 |