본문 바로가기
반응형

프로그래밍/Algorithm110

C# [백준 BAEKJOON] 2960번 에라토스테네스의 체 문제 에라토스테네스의 체는 N보다 작거나 같은 모든 소수를 찾는 유명한 알고리즘이다. 이 알고리즘은 다음과 같다. 2부터 N까지 모든 정수를 적는다. 아직 지우지 않은 수 중 가장 작은 수를 찾는다. 이것을 P라고 하고, 이 수는 소수이다. P를 지우고, 아직 지우지 않은 P의 배수를 크기 순서대로 지운다. 아직 모든 수를 지우지 않았다면, 다시 2번 단계로 간다. N, K가 주어졌을 때, K번째 지우는 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ K < N, max(1, K) < N ≤ 1000) 출력 첫째 줄에 K번째 지워진 수를 출력한다. 2960번: 에라토스테네스의 체 2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이.. 2024. 3. 11.
C# [백준 BAEKJOON] 9020번 골드바흐의 추측 문제 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아니다. 골드바흐의 추측은 유명한 정수론의 미해결 문제로, 2보다 큰 모든 짝수는 두 소수의 합으로 나타낼 수 있다는 것이다. 이러한 수를 골드바흐 수라고 한다. 또, 짝수를 두 소수의 합으로 나타내는 표현을 그 수의 골드바흐 파티션이라고 한다. 예를 들면, 4 = 2 + 2, 6 = 3 + 3, 8 = 3 + 5, 10 = 5 + 5, 12 = 5 + 7, 14 = 3 + 11, 14 = 7 + 7이다. 10000보다 작거나 같은 모든 짝수 n에 대한 골드바흐 파티션은 존재한다. 2보다 큰 짝수.. 2024. 3. 11.
C# [백준 BAEKJOON] 10992번 별 찍기 - 17 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. 10992번: 별 찍기 - 17 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 풀이 코드 using System; using System.Text; class Program { static void Main(string[] args) { var input = Console.ReadLine(); var count = Int32.Parse(input); var sb = new StringBuilder(); for (int i = 0; i < count; i++) { for (int j = count - i;.. 2024. 3. 8.
C# [백준 BAEKJOON] 2445번 별 찍기 - 8 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 코드 기존에 작성했던 별찍기를 응용해서 풀이가 가능하다. * ** *** **** ***** **** *** ** * 이렇게 작성한 코드를 동일하게 반전시켜서 출력하면 해당 문제의 풀이가 가능하다. using System; using System.Text; class Program { static void Main(string[] args) { var input = Console.ReadLin.. 2024. 3. 8.
알고리즘 공부 시작하기! 프로그래머스 vs 백준 프로그래머스(Programmers) UI가 세련되고 직관적이어서 보기 좋다. 접근성이 좋다. 백준 대비 문제의 난이도가 쉽게 느껴진다. 문제가 레벨별로 분류되어 있다. 문제의 입력, 출력에 대해서 크게 신경 쓰지 않아도 된다. 알고리즘을 이제 막 공부하려고 하는 사람들에게는 프로그래머스 추천 프로그래머스로 천천히 맛보다가 백준으로 넘어가는게 정신건강에 이로운 거 같다. (하지만 스스로가 도전정신이 강하고 매운맛부터 보고싶다고 한다면 백준으로 시작해 보자.) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 백준(Baekjoon) UI가 심플하다 못해 뭐 하는.. 2024. 3. 7.
C# [백준 BAEKJOON] 10951번 A+B - 4 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 A+B를 출력한다. 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 코드 해당 문제는 입력이 얼마나 들어오는지에 대한 언급이 문제에 없다. 입력의 끝을 알 수 없다. 그렇다면 입력의 끝은 어떻게 알 수 있을까? 보통은 null 체크하면 될 거 같은데 이리저리 null 체크해도 안되는데 한 가지를 놓치고 있었다. var input = Console.R.. 2024. 3. 7.