코딩테스트 문제 풀이/[백준] 그리디 알고리즘(5)
-
C# 13305번 주유소
58점 받은 코드 using System; using System.Linq; using System.Numerics; namespace _5 { class Program { static void Main(string[] args) { int N = Convert.ToInt32(Console.ReadLine()); int[] d = Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse); int[] won = Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse); won[won.Length-1] = 1000000000; int minWon = 0; int minWonIndex = 0; BigInteger ..
2022.02.07 -
C# 1541번 잃어버린 괄호
코드 : using System; using System.Collections.Generic; namespace _4 { class Program { static void Main(string[] args) { string input = Console.ReadLine(); string[] OnlyPlus = input.Split('-'); int output = 0; foreach (var item in OnlyPlus[0].Split('+')) { output += Convert.ToInt32(item); } if(OnlyPlus.Length == 1) Console.WriteLine(output); else { for (int i = 1; i < OnlyPlus.Length; i++) { string..
2022.02.07 -
C# 11399번 ATM
코드 : using System; namespace _2 { class Program { static void Main(string[] args) { //이문제가 그리디인 이유는 각 사람마다 걸리는 인출시간이 //앞사람의 인출시간이 무조건 작아야만 뒷사람이 작아지는 원리이기 때문이다 //만약 맨 앞사람의 인출시간이 길다면 //뒷사람 수 만큼 앞사람의 인출시간이 계속 더해진다 //즉 앞사람은 무조건 인출시간이 짧아야만 한다 int N = Convert.ToInt32(Console.ReadLine()); var inputData = Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse); Array.Sort(inputData); int time = 0; fo..
2022.02.07 -
C# 1931번 회의실 배정
코드 : using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace _2 { class Program { static void Main(string[] args) { int N = Convert.ToInt32(Console.ReadLine()); //2중리스트 List Meetings = new List(); int start, count; start = 0; count = 0; for (int i = 0; i < N; i++) { var input = Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse); Meetings.Add(new Li..
2022.02.07 -
C# 11047번 동전 0
코드 : using System; namespace _1 { class Program { static void Main(string[] args) { //초기화 int[] inputData = Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse); int N, K, count; N = inputData[0]; K = inputData[1]; count = 0; //Won담을 행렬 int[] Won = new int[N]; for (int i = 0; i < N; i++) { Won[i] = int.Parse(Console.ReadLine()); } //가장 큰 돈으로 먼저 나눠서 나눌 수 있는지를 확인해야함 //예를들어 52000원이면 50000원부터 ..
2022.02.07