서론
이번에 푼 문제는 소수값을 구하는 방법과 배열에 대한 지식만 있다면 간단히 풀 수 있을만한 문제라고 생각한다. 다른 사람들의 풀이를 보니 정말 접근자체를 다르게 한사람들도 있어 조곰 신기하긴했다. 아직은 알고리즘 초보기에 꾸준히 노력하여 좋은 답안을 낼 실력을 갖춰야겠다.
문제
풀이
using System;
class Solution
{
public int solution(int[] nums)
{
int answer = 0;
for (int i = 0; i <= nums.Length - 1; i++)
{
for (int j = i + 1; j <= nums.Length - 1; j++)
{
for (int k = j + 1; k <= nums.Length - 1; k++)
{
int sum = nums[i] + nums[j] + nums[k];
//인덱스 크기 검증
if ((i == j || i == k || j == k) || (i > j || i > k || j > k))
continue;
if (IsPrime(sum))
answer++;
}
}
}
return answer;
}
//소수 값인지 확인
public static bool IsPrime(int n)
{
bool isBool = true;
for (int i = 2; i <= n / 2; i++)
{
if (n % i == 0)
{
isBool = false;
break;
}
}
return isBool;
}
}
C# 소수값 구하기
https://jeongkyun-it.tistory.com/13
문제 URL
https://programmers.co.kr/learn/courses/30/lessons/12977?language=csharp
반응형
'Algorithm > Problem Solving' 카테고리의 다른 글
백준 JAVA 10870번 - 피보나치수 5 (0) | 2022.03.08 |
---|---|
백준 JAVA 10872번 - 팩토리얼 (0) | 2022.03.08 |
백준 JAVA 1436번 - 영화감독 숌 (0) | 2021.10.03 |
백준 C# 2798번 - 블랙잭 (0) | 2021.09.26 |
백준 C# 2231번 - 분해합 (0) | 2021.09.26 |
댓글