반응형 코딩테스트 (C#)62 백준 1316 : 그룹 단어 체커 이번 문제는 어떤 단어에서 문자가 연속되어 있는지 확인해야 하는 문제이다.n개의 단어가 주고지고, 그 중 몇개가 그룹 단어인지 반환하면 된다.그룹 단어란 문자가 연속된 단어를 말하는데, 예시를 보면 이해가 갈 것이다.한 문자는 서로 모여있어야 한다. 로직은 생각을 조금 했는데 그룹 단어인지 판별은 못해도 아닌 것을 판별하기쉬워 보였다. 2개를 연속으로 비교해서 다르면 이전에 나왔는지를 체크하는 방법이다.2개를 연속으로 비교했는데 이전에 그 문자가 나오지 않았다면 그룹단어의 조건을 충족하고 그 문자가 나온적이 있다면 서로 떨어져 있으므로 조건을 충족하지 않는다.이렇게 조건이 아닌 조건으로 탈락시켜서 성공을 가리면 좋을 것 같다. using System;using System.Linq;namespace un.. 코딩테스트 (C#) 2024. 12. 12. 백준 2941 : 크로아티아 알파벳 이번 문제는 문자열로 표현된 크로아티아 알파벳을 구분하여 몇 글자인지 세는 문제이다.다양한 방법들을 생각할 수 있는데, 나는 Replace라는 메서드를 이용해서 크로아티아 문자를한글자 아무 문자로 대체하고 길이를 세는 방법을 채택했다. using System;using System.Linq;namespace unicoti { class Program { static void Main(string[] args) { string input = Console.ReadLine() ?? ""; input = input.Replace("c=", "0") .Replace("c-", "0") .. 코딩테스트 (C#) 2024. 12. 11. 백준 1157 : 단어 공부 이번 문제는 이해하기 쉽다. 어떤 문자가 주어지면 그중에서 가장 빈도수가 큰 알파벳을출력하면 해결되는 문제이다. 만약 그런 알파벳이 여러개일 경우 ?를 출력해주면 된다고 한다.이해는 쉬운 문제라서 다행인 것 같고, 원리는 A-Z까지 배열을 만든 다음 빈도를 계산해서 넣고 그를 기반으로 해서최빈값 중복 검사(?출력시)와 최빈 알파벳 찾기를 수행하면 될 것 같다.using System;class Program { static void Main() { string input = Console.ReadLine() ?? ""; int[] count = new int[26]; // A-Z의 개수 // 대문자로 변환하여 카운트 foreach (char c in .. 코딩테스트 (C#) 2024. 12. 10. 백준 10988 : 팰린드롬인지 확인하기 - C# 풀이 이번 문제는 어떤 단어가 주어졌을 때 "팰린드롬"이면 1을, 아니면 0을 출력하면 되는 문제이다.팰린드롬이란, 뒤에서부터 읽어도 변하지 않는 문자를 말한다. 영어로는 level, noon 등이 있을 것이고한국어로는 기러기, 토마토, 스위스, 우영우 등이 있겠다. using System;namespace unicoti { class Program { static void Main(string[] args) { string input = Console.ReadLine() ?? ""; int repeatCount = (int)Math.Floor(input.Length / 2.0); for (int i = .. 코딩테스트 (C#) 2024. 12. 9. 백준 2444 : 별 찍기 - 7 C# 풀이 이번 문제는 별 찍기 문제인데, 대놓고 그냥 추측하라고 나와있다.위와 아래를 나눠서 하면 좋을 것 같고, 문자를 여러 개 출력하는 방법이 있으면 좋을 것 같다. using System;namespace unicoti { class Program { static void Main() { int.TryParse(Console.ReadLine()??"", out int n); for (int i = 1; i = 1; i--) { Console.Write(new string(' ', n - i)); Console.WriteLine(new string('*', 2 * i - 1)); .. 코딩테스트 (C#) 2024. 11. 3. 백준 3003 : 킹, 퀸, 룩, 비숍, 나이트, 폰 - C# 풀이 이번 문제도 간단하다. 체스 기물 수가 맞는지 확인하고, 몇 개가 더 부족하거나 넘치는지 출력하면 된다."부족하거나 넘치는지"는 숫자로 표현하면 되는데, 규칙성을 찾아보면 (원래 기물 수 - 입력)이다.이걸 for문으로 돌아가면서 배열에 저장한 다음 출력해주면 될 것 같다. using System;namespace unicoti { class Program { static void Main(string[] args) { string[] input = (Console.ReadLine()??"").Split(' '); int[] array = Array.ConvertAll(input, int.Parse); for(int i = 0;.. 코딩테스트 (C#) 2024. 11. 3. 백준 25083 : 새싹 - C# 풀이 이번 문제는 심화라는 주제 안에 존재하는데, 저번에 풀었던 개와 고양이 문제와 거의 같다.마찬가지로 주의할 점은 이스케이핑에 대한 지식인데, 그정도만 잘 수행하면 되는 문제이다.특정 특수문자 앞에만 /를 붙여주면 된다.using System;namespace unicoti{ class Program { static void Main(string[] args) { Console.WriteLine(" ,r'\"7"); Console.WriteLine("r`-_ ,' ,/"); Console.WriteLine(" \\. \". L_r'"); Console.WriteLine(" .. 코딩테스트 (C#) 2024. 10. 31. 백준 11718 : 그대로 출력하기 - C# 풀이 문자열 파트의 마지막 문제여서일까? 굉장히 쉬운 문제가 나왔다.받은 대로 출력하면 되는데, 한 가지 주의할 점으로는 케이스의 개수가 없다.물론 익숙하다면 오히려 좋은 상황이기도 하다. using System;namespace unicoti { class Program { static void Main(string[] args) { while (true) { string input = Console.ReadLine()??""; if(input == "") { return; } .. 코딩테스트 (C#) 2024. 10. 29. 백준 5622 : 다이얼 - C# 풀이 일단 문제는 이렇다. 이번 것도 이해하는 게 조금 힘들 수 있다.사실 나도 아직 이해는 못했다. 다이얼 전화를 써본 적이 없어 그런 것 같다.다만 나는 규칙성을 찾아서 문제를 해결했다. using System;namespace unicoti { class program { static void Main(string[] args) { string input = Console.ReadLine()??""; int result = 0; for(int i = 0; i 코드가 조금 길지만 당황하지는 말자.다이얼에 적힌 숫자를 반환하기 위한 함수가 코드의 절반 이상이다.GetTextNum()이라는 함수는 원하는 문자.. 코딩테스트 (C#) 2024. 10. 29. 백준 2908 : 상수 - C# 풀이 이번 문제도 나름대로 간단하다. 숫자를 거꾸로 읽은 다음 그 상태에서 더 큰 숫자를 출력해 주면 된다. 일반적으로 막힐만한 점은 아마 "거꾸로"읽는 점이나 "더 큰"숫자를 구분하는 일일 것이다. 거꾸로 부분은 Reverse 메서드, 더 큰 숫자는 if문이나 삼항 연산자를 이용하면 편하다. 코드로 설명하겠다. using System; namespace unicoti { class Program { static void Main(string[] args) { string[] input = (Console.ReadLine()??"").Split(' '); int.TryParse(input[0].Reverse().ToArray(), out int num1); int.TryParse(input[1].Reverse.. 코딩테스트 (C#) 2024. 10. 26. 백준 1152 : 단어의 개수 - C# 풀이 이번 문제는 매우 간단하지만 예외처리가 조금 필요한 문제이다.따라서 뭐가 문제인지 모른다면 조금 답답한 경우가 나올 수 있다. 로직은 일단 입력을 받고 Split을 통해서 나눈 다음 반환된 배열의 개수를세어주면 간단히 완성되지 않을까 싶다. 다만 문제가 있는데 첫번째나 마지막에 공백이 오거나아예 공백으로 입력이 주어질 수 있다는 점이다.그런 점을 예방하기 위해서 Trim과 if문을 통한 예외처리가 필요하다. using System;namespace unicoti{ class Program { static void Main(string[] args) { string input = Console.ReadLine()?.Trim() ?? ""; if(in.. 코딩테스트 (C#) 2024. 10. 24. 백준 2675 : 문자열 반복 - C# 풀이 이번 문제는 약간 생각할 게 있는 듯 하면서도 쉬운 편이다.나는 출력형식에서 잠깐 헤맸다. 아무튼 문제를 이해해보자. 첫줄에는 반복될 시행의 개수가 입력된다.예제 입출력을 보면 "2"가 그 대상인데, 첫번째 줄 이후로나오는 시행의 개수가 2개라는 뜻을 내포한다. 이제 시행에서는 입력 형식이 바뀐다."숫자 문자" 형식으로 나오는데, 문자의 각 글자를 숫자만큼 반복하면 된다.예를 들어 "3 ABC" 라면 "AAABBBCCC"를 출력해주면 된다. 이렇게 되면 일단 첫 숫자를 기반으로 첫번째 for문,for문 안에서 숫자와 문자를 변수에 저장하고 문자의 길이를기반으로 for문, 한 글자씩 돌아가면서 안쪽에 마지막 for문으로 숫자만큼반복해주면 될 것 같다. using System;namespace unicoti.. 코딩테스트 (C#) 2024. 10. 24. 이전 1 2 3 4 ··· 6 다음 반응형