◎ 문제
○ 출처
programmers.co.kr/learn/courses/30/lessons/12977
○ 문제 설명
주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. |
○ 제한 사항
|
○ 입출력 예
○ 입출력 예 설명
입출력 예 #1 입출력 예 #2 |
○ 작성 코드 예시
using System;
class Solution
{
public int solution(int[] nums)
{
int answer = 0;
// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
System.Console.WriteLine("Hello C#");
return answer;
}
}
◎ 나의 문제 풀이
public class Solution
{
public int solution(int[] nums)
{
int answer = 0;
// 배열의 각 자릿수를 참조
for(int i = 0; i < nums.Length - 2; ++i)
{
for(int j = i + 1; j < nums.Length - 1; ++j)
{
for(int k = j + 1; k < nums.Length; ++k)
{
int sum = nums[i] + nums[j] + nums[k];
if (IsPrimeNumber(sum))
{
answer++;
}
}
}
}
return answer;
}
// 소수 판별 메서드
bool IsPrimeNumber(int number)
{
// 검사하려는 숫자의 절반 값까지만 검사해도
// 소수 판별이 가능하므로 절반 값을 구해놓는다.
int check_number = number / 2;
// 나누어 떨어지는 숫자가 있다면 소수가 아님
for(int i = 2; i < check_number; ++i)
{
if (number % i == 0)
{
return false;
}
}
return true;
}
}
'프로그래밍 문제 풀이 > C#' 카테고리의 다른 글
[프로그래밍 문제 풀이] 프로그래머스 - 내적 (C#) (0) | 2021.03.12 |
---|---|
[프로그래밍 문제 풀이] 프로그래머스 - 영어 끝말잇기 (C#) (0) | 2020.10.20 |
[프로그래밍 문제 풀이] 프로그래머스 - 3진법 뒤집기(C#) (0) | 2020.10.14 |
[프로그래밍 문제 풀이] 프로그래머스 - 두 개 뽑아서 더하기(C#) (0) | 2020.10.13 |
[프로그래밍 문제 풀이] 프로그래머스 - 최솟값 만들기 (C#) (0) | 2020.09.10 |