본문 바로가기
728x90

전체 글239

[ BOJ/C# ] 1676 팩토리얼 0의 개수 https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하려면, 결국 10이 되는 숫자인 2와 5가 중요하다. 따라서 2와 5중 최솟값이 0의 개수가 된다. using System; using System.Runtime.Intrinsics.Arm; namespace _1676 { class Program { static void Main() { StreamReader sr = new StreamReader(Console.OpenStandardInput()); Strea.. 2023. 9. 3.
[ BOJ/C# ] 1546 평균 https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 새로운 평균을 구하는 문제이다. 오차가 소수 2번째 자리 이하를 허용하기 때문에 float로만 구해도 충분하다. 간단하게 배열의 최댓값과 평균을 구하여 새로운 평균을 구해주었다. using System; namespace _1546 { class Program { static void Main() { StreamReader sr = new StreamReader(Console.OpenStan.. 2023. 9. 1.
[ BOJ/C# ] 2869 달팽이는 올라가고 싶다 https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 어렸을때 봤던 코믹 메이플스토리가 생각나는 문제였다. 그냥 반복문으로 풀수도 있는 문제지만, 시간 제한이 있었기 때문에 규칙을 찾아 풀었다. 1) A - B == 1 이라면, V - B일이 걸렸다. (예제3) 2) V - A == 1이라면, 2일이 걸린다. 3) 나머지 경우에는 V에 마지막에 하루 최대(미끄러지지 않는 날)로 올라갈수 있는 A일을 빼고, (A - B)를 나누고 (미끄러진 날), 나머지가 있다면 하루를 더 더해준다. using System;.. 2023. 9. 1.
[ BOJ/C# ] 10989 수 정렬하기 3 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 처음에 리스트에 수를 저장하여 출력헸더니 시간초과로 실패하였다. 그래서 자연수 10000가지가 들어갈 배열을 미리 만들어 수를 세는 방식으로 풀게되었다. using System; namespace _10989 { class Program { static void Main() { StreamReader sr = new StreamReader(Console.OpenStandardInput()); StreamWriter .. 2023. 8. 30.
[ BOJ/C# ] 21921 블로그 https://www.acmicpc.net/problem/21921 21921번: 블로그 첫째 줄에 $X$일 동안 가장 많이 들어온 방문자 수를 출력한다. 만약 최대 방문자 수가 0명이라면 SAD를 출력한다. 만약 최대 방문자 수가 0명이 아닌 경우 둘째 줄에 기간이 몇 개 있는지 출력한다 www.acmicpc.net 누적합들을 슬라이딩 윈도우 개념을 이용하여 구하고 비교하는 문제였다. 이중 for문을 사용하면 시간초과가 되어 최초의 누적 합을 구한 뒤, 이전값을 빼주고 다음값을 더해주도록 하였다. using System; namespace _21921 { class Program { static void Main() { StreamReader sr = new StreamReader(Console.Ope.. 2023. 8. 29.
[ BOJ/C# ] 1940 주몽 https://www.acmicpc.net/problem/1940 1940번: 주몽 첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고 www.acmicpc.net using System; namespace _1940 { class Program { static void Main() { StreamReader sr = new StreamReader(Console.OpenStandardInput()); StreamWriter sw = new StreamWriter(Console.OpenStandardOutput()); int n = i.. 2023. 8. 28.
[ BOJ/C# ] 1159 농구 경기 https://www.acmicpc.net/problem/1159 1159번: 농구 경기 상근이는 농구의 세계에서 점차 영향력을 넓혀가고 있다. 처음에 그는 농구 경기를 좋아하는 사람이었다. 농구에 대한 열정은 그를 막을 수 없었고, 결국 상근이는 농구장을 청소하는 일을 시작 www.acmicpc.net 알파벳의 아스키코드를 이용하였다. using System; using System.Text; namespace _1159 { class Program { static void Main() { StreamReader sr = new StreamReader(Console.OpenStandardInput()); StreamWriter sw = new StreamWriter(Console.OpenStandard.. 2023. 8. 27.
[ BOJ/C# ] 1764 듣보잡 https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net a.Intersect(b); a와 b의 교집합을 구한다 Enumerable.ToList(c); Enumerable을 List로 바꿔준다. using System; using System.Diagnostics; namespace _1764 { namespace Program { class Program { static void Main() { StreamReader sr = new StreamRe.. 2023. 8. 26.
[ BOJ/C# ] 2839 설탕 배달 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 처음에는 for문과 여러 조건문들로 구성하여 풀어보았지만, 점점 너무 복잡해져 다른 방법을 찾아보았다. 조건 1) 설탕이 5로 나누어 떨어지는 경우 2) 1을 충족하지 않지만 5와 3으로 나누어 떨어지는 경우 (마지막은 무조건 3으로 나누어 떨어져야 한다) 3) 설탕이 3으로 나누어 떨어지는 경우 4) 나누어 떨어지지 않는 경우 -1 출력 1, 2, 3 순으로 적은 봉지 수로 구성되기 때문에, 뒤 조건을 만.. 2023. 8. 26.
[ BOJ/C# ] 2844 알람 시계 https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net using System; namespace _2884 { class Program { static void Main() { string[] str = Console.ReadLine().Split(' '); int hour = int.Parse(str[0]); int miniute = int.Parse(str[1]); miniute -= 45; if (miniute < 0) { miniute = 60 + m.. 2023. 8. 25.
[ BOJ/C# ] 2751 수 정렬하기 2 https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net List.Sort()를 이용하여 오름차순으로 간단하게 정리하였다. using System; namespace _2751 { class Program { static void Main() { StreamReader sr = new StreamReader(Console.OpenStandardInput()); StreamWriter sw = new StreamWriter(Console.Ope.. 2023. 8. 23.
[ BOJ/C# ] 10828 스택 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net https://learn.microsoft.com/ko-kr/dotnet/api/system.collections.generic.stack-1?view=net-7.0 Stack 클래스 (System.Collections.Generic) 지정한 동일 형식의 인스턴스로 이루어진 가변 크기 LIFO(후입선출) 방식의 컬렉션을 나타냅니다. learn.microsoft.com 이번엔 sw.. 2023. 8. 23.
728x90