본문 바로가기
728x90

c#102

[ BOJ/C# ] 10818 최소, 최대 https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net class 1++ 까지 채우고 싶어 풀게 되었다. 배열의 최솟값, 최댓값은 Min, Max로 구할 수 있다. using System; using System.Text; namespace B10818 { class Program { static void Main() { StreamReader sr = new StreamReader(Console.OpenStanda.. 2023. 9. 13.
[ BOJ/C# ] 1929 소수 구하기 _ 에라토스테네스의 체 https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 이번에는 n이하의 소수를 구하는 문제였기 때문에 에라토스테네스의 체를 이용하였다. 에라토스테네스의 체를 이해한 개념을 바탕으로 간단히 말하자면, 1) 우선 n까지의 각 수를 넣은 n크기의 배열을 만든다. 2) 이 배열을 앞에서부터 시작하여, 현재 타겟 수의 값을 0으로 만든다. 3) 이를 n까지 반복하면 소수만 남는다. (2부터 시작하여 4, 6, 8...2n모두 0으로 만든다, 다음 3에서는 값이 0이 아닌 9, 15, 21... 2023. 9. 11.
[ BOJ/C# ] 1978 소수 찾기 https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 소수판별은 꽤나 기본적이면서 중요한 알고리즘이라고 생각해 풀어보았다. 에라토스테네스의 체가 생각났지만, 이처럼 1000까지의 수 내의 주어진 수만 판별해야 한다면 다른 방법이 좋을 수도 있겠다고 생각했다. 다음과 같은 방식으로 한다면 시간복잡도는 O(n√n)이다. 각각의 수 O(√n)의 총 O(n√n). using System; namespace B1978 { class Program { static void Main() { StreamReader sr = new .. 2023. 9. 10.
[ BOJ/C# ] 1620 나는야 포켓몬 마스터 이다솜 https://www.acmicpc.net/problem/1620 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net Dictionary와 시간복잡도를 고려하여 푸는 문제다. 시간초과로 많은 시도를 했다. 1. 빠른 입출력 사용_StreamWriter와 StringBuilder로 빠른 출력이 되도록 함 2. sb.AppendLine이 아닌 '\n'이 빠르다. 3. 각각 int, string가 key인 Dictionary를 두 개 만들어줌 _처음에는 하나로 만들어 int인 key를 가져.. 2023. 9. 9.
[ BOJ/C# ] 8958 OX퀴즈 https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net using System; namespace B8958 { class Program { static void Main() { StreamReader sr = new StreamReader(Console.OpenStandardInput()); StreamWriter sw = new StreamWriter(Console.OpenStandardOutput()); int n = int... 2023. 9. 9.
[ BOJ/C# ] 10809 알파벳 찾기 https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 알파벳의 아스키코드를 이용하였다. using System; using System.Text; namespace B10809 { class Program { static void Main() { StreamReader sr = new StreamReader(Console.OpenStandardInput()); StreamWriter sw = new StreamWriter(Console... 2023. 9. 7.
728x90