문제 https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 에라토스테네스의 체를 사용하면 된다. 에라토스테네스의 체는 소수를 구하는 방법 중 하나로 알고있으면 참 도움되는 것이다.. 가장 작은 소수인 2. 2는 소수로 남겨두고 2의 배수들은 모두 지운다. 그 다음 지워지지않은 수 3. 3을 소수로 남겨두고 3의 배수들은 모두 지운다. 그 다음 4.. 4는 2의 배수라서 아까 지웠으니 지워지지 않은 수 5로 간다. 5를 소수로 남기고 5의 배수를 다 지운다. 그 다음 6. 6은 아까..
동식이 취업시키기 작전
문제 https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 한수를 구하는 수학문제다. 한수란? 등차수열이 적용된 수(?)를 말한다. 예를들면 123이 있을 때 각 자리의 수가 1로 등차수열이다. 그러니 한수! 1456는 천의자리 1과 백의자리 4의 등차가 3이다. 하지만 백의자리 4와 십의자리 5는 등차가 1.. 한수가 아니다. 이렇게 풀면 된다. 아래는 뤼튼이의 부연 설명이다. 어머! 얘. 내가 알려줄게, 110까지의 한수를 세는 방법 말이야. 100..
문제 https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 처음에 셀프 넘버를 이해하지 못해서.. 모든 수가 셀프 넘버 아님? 이해가 안되네.. 라며 머리를 뜯고 있었는데, 뤼튼이가 알려줬다. 어머! 얘. 내가 알려줄게, 셀프 넘버에 대해서 헷갈려하는 거 같은데, 셀프 넘버에 대해서 설명해 줄게. 셀프 넘버는 생성자가 없는 숫자야. 즉, 어떤 n에 대해 d(n)으로 표현될 수 없는 숫자지. 예를 들어..
문제 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 단순히 나누고 나머지 계산하면 되는 문제라고 생각했는데,,, 코드 using System; using System.Text; using System.Collections.Generic; namespace baekjoon { class Algorithm { static void Main(string[] str) { int input = int.Parse(Console.ReadLine()); int cnt..
문제 https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에 www.acmicpc.net 이전에 진행했던 대칭괄호 문제와 유사하다. Stack의 Peek을 사용해도 되고 Queue를 사용해도 될 거 같다. 코드 using System; using System.Text; using System.Collections.Generic; namespace baekjoon { class Algorithm { static void Main(string[] str) { w..
문제 https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 이건.. 그냥 풀면 됐던 문제! 코드 using System; using System.Text; using System.Collections.Generic; namespace baekjoon { class Algorithm { static void Main(string[] str) { Dictionary map = new Dictionary(); string[] input = Console..
문제 https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 같은 문제가 또 있길래 복습 차원에서 풀었다. 큐로 풀면 된다. 코드 using System; using System.Text; using System.Collections.Generic; namespace baekjoon { class Algorithm { static void Main(string[] srt) { StringBuilder sb = new StringBuilder(); sb.Append(''); Console.Write(sb); } } } 고민 다시 풀었음에..
문제 https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 알고리즘 분류에 덱이 있길래 LinkedList를 사용 할 생각이었는데(C#엔 덱이 없음) 아무리 구상해도 안되길래.. 일단 배열의 Reverse()기능을 사용해봤다.(실패) 코드 using System; using System.Text; using System.Collections.Generic; namespace baekjoon { class Algorithm { static void Main(string[] str) { // 테스트 케이스 개..