일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- C#
- nullable
- Visual Studio
- string
- convert
- algorithm
- commit
- Coding
- Github
- Process
- csharp
- chashtag
- File
- dotNET
- logging
- 코딩테스트
- IValueConverter
- coding-test
- git
- Binding
- Microsoft
- programmers
- .net
- WPF
- windows10
- windows
- log
- ListView
- tls
- mysql
Archives
- Today
- Total
CHashtag
[백준] [C#] 21919. 소수 최소 공배수 본문
반응형
안녕하세요.
오늘은 프로그래머스 코딩테스트 연습 문제인 "제목" 을 풀어 보았습니다.
문제 링크
https://programmers.co.kr/learn/courses/30/lessons/12982
문제 풀이 방법
자세한 문제 풀이는 주석으로 남겨두었습니다.
코드
using System;
using System.Collections.Generic;
namespace 백준
{
internal class Program
{
static void Main(string[] args)
{
string s1 = Console.ReadLine();
string s2 = Console.ReadLine();
string[] s2a = s2.Split(' ');
HashSet<int> rList = new HashSet<int>();
for (int i = 0; i < int.Parse(s1); i++)
{
int value = int.Parse(s2a[i]);
// 소수들을 HashSet에 넣어준다.
if(IsPrime(value))
{
rList.Add(value);
}
}
// 소수가 없다면 -1을
if (rList.Count == 0)
{
Console.WriteLine(-1);
}
// 있다면 소수들의 곱을 return한다.
else
{
long result = 1;
foreach (int i in rList)
{
result *= i;
}
Console.WriteLine(result);
}
}
public static bool IsPrime(int value)
{
if(value <= 1)
{
return false;
}
if(value == 2)
{
return true;
}
int j = (int)Math.Floor(Math.Sqrt(value));
for (int i = 2; i <= j; i++)
{
if (value % i == 0)
{
return false;
}
}
return true;
}
}
}
감사합니다.
반응형
'알고리즘' 카테고리의 다른 글
[프로그래머스] [C#] 주차 요금 계산 (0) | 2022.02.27 |
---|---|
[프로그래머스] [C#] 신고 결과 받기 (0) | 2022.02.27 |
[프로그래머스] [C#] 거리두기 확인하기 (0) | 2022.01.10 |
[프로그래머스] [Java] 없는 숫자 더하기 (0) | 2021.09.14 |
[프로그래머스] [C#] 없는 숫자 더하기 (0) | 2021.09.14 |