반응형 코딩테스트 (C#)62 백준 2562 : 최댓값 - C# 풀이 이번 문제도 간단하지만 문제를 잘 읽어야 한다.기본적으로는 여러 숫자를 입력받아 그 중 가장 큰 숫자의 값과인덱스를 출력하면 되는 간단한 문제인데, 숫자의 개수가 9개인 것을 인지해야 한다.나는 문제를 제대로 안읽어서 while(true) 에 break를 섞어서 만들었다가9번이라는 것을 알고 for문으로 코드를 바꾸는 노동을 했다. using System;namespace unicoti { class Program { static void Main(string[] args) { int max = 0; int index = 0; for(int i = 0; i 코드는 간단하다.for문을 9번 반복해서 각 숫자.. 코딩테스트 (C#) 2024. 9. 9. 백준 10818 : 최소, 최대 - C# 풀이 이번 문제도 간단하다.첫 줄에는 수의 개수가 주어지고, 두번째 줄에는 띄어쓰기로 구분된몇가지의 수가 나열되어 나온다. 우리는 그 중에서 최소와 최대를 찾으면 되는 문제이다.string 배열을 int 배열로 변환하는 과정은 동일할 것 같고, (아니면 요소를 파싱하던가)이후 미리 최소, 최대 변수를 만들어 놓고 저장된 값 보다 작거나 클 경우변수를 그 요소로 업데이트 하는 식의 for문으로 알고리즘을 만들 수 있을 것 같다. 아니면 나처럼 연습보다는 실무적인 것을 더욱 우선시 하는 사람이거나멋있어보이고 싶다면 Linq를 써보는 것도 좋다.Linq는 특히 배열이나 리스트에서 항상 직접 만들어야해서 불편했던여러가지 기능들을 제공하는데, 이런 경우에 응용하면 매우 편하다. using System;using Sys.. 코딩테스트 (C#) 2024. 9. 7. 백준 10871 : X보다 작은 수 - C# 풀이 이번 문제도 나름대로 간단하다.왜 인지 모르겠지만 이번 문제는 내가 어제 프로젝트에서 했던 일과완전히 똑같은 일이였다. 굉장히 신기했다. 아무튼, 첫 줄에서 배열의 길이와 X의 값이 주어지는데,아래에서 주어질 배열에서 X보다 작은 값들을 모두 출력하면 성공인 문제이다. using System;using System.Linq;namespace unicoti { class Program { static void Main(string[] args) { string[] input = (Console.ReadLine()??"").Split(' '); int.TryParse(input[0], out int testCount); int.Tr.. 코딩테스트 (C#) 2024. 9. 5. 백준 10807 : 개수 세기 - C# 풀이 이번 문제는 확실히 전 단계에 비해서는 어려워졌다.일단 주제는 "일차원 배열"이라고 한다. 코딩을 실제 프로젝트에서 해보면 알겠지만조금 복잡한 알고리즘을 설계할 때면 항상 배열이 등장한다.그만큼 배열의 효과는 알고리즘에 필수적이며 실제 프로젝트에서 반드시 사용된다.이 단계도 이차원 배열까지는 안나오기에 할만 할 것이다. 일단 기초적인 방법으로는 두번째 줄을 배열로 저장한 다음한 원소씩 돌아가면서 개수를 세는 방법이 있다.(솔직히 첫 줄은 왜 주어진지 모르겠다) 나는 Linq의 메서드를 사용했다.뭐 알고리즘 능력을 키울때는 안쓰는 게 좋지만 시간 복잡도가 큰 것도 아니고나는 실제 프로젝트를 많이 진행해봤기에 굳이 피할 이유가 없다고 생각했다. using System;using System.Linq;name.. 코딩테스트 (C#) 2024. 9. 5. 백준 10951: A + B - 4 C# 풀이 이번 문제도 쉽지만 약간의 주의점이 있는 문제이다.뭐 A+B는 쉽게 할 수 있겠으나 테스트의 개수가 주어지지 않는다.이걸 해결할 방법만 찾으면 쉽게 풀리는 문제이다. using System;namespace unicoti { class Program { static void Main(string[] args) { while(true) { string input = (Console.ReadLine()??""); if(input == "") break; string[] arr = input.Split(' '); int.TryParse(arr[0], out int n.. 코딩테스트 (C#) 2024. 9. 3. 백준 10952 : A+B-5 C# 풀이 이번 문제도 간단한 편이다.다만 입력의 형식이 조금 달라졌다. 원래 같았으면 테스트의 개수가 맨 처음 주어지는 형태일텐데이번에는 그런건 없고 0 0에서 끝내라는 명령뿐이다. 그래서 이 문제에서는 for문의 횟수를 정할 수 없기에while을 쓰라고 장려하는 문제가 아닐까 싶다.while(true)문을 사용해서 그냥 계속 검사되도록 해주었다.물론 최적화에는 악영향이 가는 코드일 것 같다고 생각된다. using System;namespace unicoti { class Program { static void Main(string[] args) { while(true) { string[] arr = (Console.ReadLine()??"").Sp.. 코딩테스트 (C#) 2024. 9. 3. 백준 2439 : 별 찍기 -2 C# 풀이 이번 문제도 별 찍기 문제이지만 피라미드가 반대편으로 이동했다.1번 줄에는 띄어쓰기가 4개에 별이 1개,2번 줄에는 띄어쓰기가 3개에 별이 2개, 즉 i번째에는 띄어쓰기가 (5-i)개에 별이 i개로 코드를 구성해주면 된다.물론 5라는 수는 입력값이라서 실제로는 (변수-i)가 되어야 한다.나름대로 간단한 문제이다. 나는 이중 for문으로 구성했다. using System;namespace unicoti { class Program { static void Main(string[] args) { int.TryParse(Console.ReadLine(), out int testCaseCount); for(int i = 1; i 먼.. 코딩테스트 (C#) 2024. 8. 31. 백준 2438 : 별 찍기 - 1 C#. 이번 문제는 그 유명한 별찍기 문제이다.초보라면 무섭겠지만 그렇게 두려워할 것은 없다.유명한 이유는 많이 등장했기 때문이고, 많이 등장한 이유는 어렵지 않아서다. 주어진 숫자로 별탑을 쌓으면 된다.예제 입출력을 보면 쉽게 이해할 수 있을 것이다. using System;namespace unicoti { class Program { static void Main(string[] args) { int.TryParse(Console.ReadLine(), out int testCaseCount); for(int i = 1; i 코드는 이렇게 구성했다.먼저 주어진 테스트 개수만큼 for문을 돌린다. 이후 별의 개수를 담당할 for문.. 코딩테스트 (C#) 2024. 8. 29. 백준 11022 : A+B - 8 이번 문제는 이전 문제(A+B - 7)와 놀랍도록 비슷하다.그래서 사실상 전 문제를 풀었다면 거의 가져가는 문제일 것이다.풀이의 설명은 이전 글에서 확인해주길 바란다. https://unicoti-sub.tistory.com/34 백준 11021 : A+B - 7이번 문제는 이전 문제보다 간단하다.A+B의 변형문제인데, -7은 7은 빼라는 게 아니라 7번째 변형버전이라는 뜻인 것 같다.처음에 테스트의 개수가 주어지고, 한줄마다 2개의 숫자가 나와서둘이unicoti-sub.tistory.com using System;namespace unicoti { class Program { static void Main(string[] args) { int.TryParse(Con.. 코딩테스트 (C#) 2024. 8. 28. 백준 11021 : A+B - 7 이번 문제는 이전 문제보다 간단하다.A+B의 변형문제인데, -7은 7은 빼라는 게 아니라 7번째 변형버전이라는 뜻인 것 같다.처음에 테스트의 개수가 주어지고, 한줄마다 2개의 숫자가 나와서둘이 더해서 출력하면 되는 간단한 문제이다. using System;namespace unicoti { class Program { static void Main(string[] args) { int.TryParse(Console.ReadLine(), out int TestCount); for(int i = 1; i 뭐 크게 어려운 로직이 없다.다만 개인적으로 발전한 부분이 많이 보인다.예전 같았으면 코드를 더 길게 썼을텐데, 이전 문제에서 작은 깨달음을 얻어서.. 코딩테스트 (C#) 2024. 8. 27. 백준 15552 : 빠른 A+B - C# 풀이 이 문제가 코딩 테스트를 하면서 아마 처음으로 새로운 기술을 배운 문제일 것이다.일반적인 Console.WriteLine을 사용하면 시간 초과로 문제가 틀렸다고 뜨는 특이한 문제다.여기서는 새로운 입출력 방법에 대해서 알기만 하면 쉽게 풀 수 있다. C#에서는 streamReader와 streamWriter에 대해서 공부하면 쉽게 풀 수 있다.물론 모두 이해하려면 버퍼스트림도 알아야 한다.이에 대해서는 따로 공부해서 메인 블로그에 올리도록 하겠다. using System;using System.IO;namespace unicoti { class Program { static void Main(string[] args) { StreamReader sr = new(new.. 코딩테스트 (C#) 2024. 8. 27. 백준 25314 : 코딩은 체육과목 입니다 - C# 풀이 이번 문제도 나름대로 간단한 편이다.문제 설명이 쓸데없이 많은 편인데, N바이트 정수를 저장할 수 있는 자료형을 찾아 출력하면 되는 문제이다.long을 여러번 붙여서 구현하면 된다. long이 4 바이트를 추가시켜주니까 N을 4로 나누고 반내림 이후 나온 값만큼앞에서 long을 붙여주고 마지막에 int를 붙여주면 간단히 해결될 것 같다. using System;namespace unicoti { class Program { static void Main(string[] args) { int num; int.TryParse(Console.ReadLine(), out num); int repeat = (int)MathF.Floor(.. 코딩테스트 (C#) 2024. 8. 27. 이전 1 2 3 4 5 6 다음 반응형