-
[백준 단계별로 풀어보기] 심화 1 with C#Development/Program Solving 2023. 7. 11. 21:20728x90
25083번: 새싹
Console.WriteLine(" ,r'\"7"); Console.WriteLine("r`-_ ,' ,/"); Console.WriteLine(" \\. \". L_r'"); Console.WriteLine(" `~\\/"); Console.WriteLine(" |"); Console.WriteLine(" |");
3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰
string[] strArray = Console.ReadLine().Split(); int[] intArray = strArray.Select(int.Parse).ToArray(); int[] result = { 1, 1, 2, 2, 2, 8 }; for (var i = 0; i < result.Length; i++) { result[i] -= intArray[i]; } Console.WriteLine(String.Join(" ", result));
2444번: 별 찍기 - 7
int num = int.Parse(Console.ReadLine()); int count = 2 * num - 1; int whiteSpace = (count - 1) / 2; int star = 1; List<string> result = new List<string>(); for (int i = 0; i < num; i++) { string a = null; for (int x = 0; x < whiteSpace; x++) { a += " "; } for (int y = 0; y < star; y++) { a += "*"; } if (whiteSpace != 0 && star != count) { whiteSpace -= 1; star += 2; } result.Add(a); } for (int i = 0; i < num - 1; i++) { string a = null; whiteSpace += 1; star -= 2; for (int x = 0; x < whiteSpace; x++) { a += " "; } for (int y = 0; y < star; y++) { a += "*"; } result.Add(a); } foreach (var item in result) { Console.WriteLine(item); }
맘에 안들어서 아래로 다시 수정함
문자열 반복 되는 stringbulder를 쓰자!
using System.Text; class Program { static void Main(string[] args) { int num = int.Parse(Console.ReadLine()); StringBuilder stringBuilder = new StringBuilder(); int count = 2 * num - 1; int whiteSpace =a num - 1; int star = 1; bool standard = true; for (var i = 1; i <= count; i++) { if (num == i) standard = false; stringBuilder.Append(' ', whiteSpace); stringBuilder.Append('*', star); stringBuilder.Append('\n'); if (standard == true) { whiteSpace -= 1; star += 2; } else if (standard == false) { whiteSpace += 1; star -= 2; } } Console.WriteLine(stringBuilder); }}
10988번: 팰린드롬인지 확인하기
string str = Console.ReadLine(); string revValue = new string(str.Reverse().ToArray()); bool result = str.Equals(revValue); Console.WriteLine(result ? 1 : 0);
1157번: 단어 공부
아ㅣㅏㅏ코드 맘에 안들어
더 좋은 코드 의견 있으면 댓글 부탁드려요....
char[] str = Console.ReadLine().ToCharArray(); int max = 0; string result = null; var list = str.GroupBy(x => x.ToString().ToUpper()).Select(s => new { count = s.Count(), value = s.Key }).OrderByDescending(d => d.count).ToArray(); max = list[0].count; result = list[0].value; for (int i = 1; i < list.Length; i++) { if (max <= list[i].count) result = "?"; } Console.WriteLine(result);
2941번: 크로아티아 알파벳
Regex 정규식 Replace
근데 Regex.replace는 string.replace보다 느리다고 함
using System.Text.RegularExpressions; class Program { static void Main(string[] args) { string str = Console.ReadLine(); string result = Regex.Replace(str, @"c=|c-|dz=|d-|lj|nj|s=|z=", " "); Console.WriteLine(result.Length); } }
1316번: 그룹 단어 체커
using System.Text.RegularExpressions; class Program { static void Main(string[] args) { int num = int.Parse(Console.ReadLine()); int result = 0; for (var i = 0; i < num; i++) { string str = Console.ReadLine(); string pattern = @"(\w)\1*"; Regex regExp = new Regex(pattern); var matches = regExp.Matches(str); var tab = matches.Select(x => x.Value.First()).GroupBy(x => x).Where(g => g.Count() > 1).Select(s => s.Key).ToArray(); if (tab.Length == 0) result++; } Console.WriteLine(result); }}
25206번: 너의 평점은
double total_major_avg = 0; double total_credit = 0; for (int i = 0; i < 20; i++) { string[] array = Console.ReadLine().Split(); if (array[2] == "P") continue; double subject_avg = 0; switch (array[2]) { case "A+": subject_avg = 4.5; break; case "A0": subject_avg = 4; break; case "B+": subject_avg = 3.5; break; case "B0": subject_avg = 3; break; case "C+": subject_avg = 2.5; break; case "C0": subject_avg = 2; break; case "D+": subject_avg = 1.5; break; case "D0": subject_avg = 1; break; case "F": subject_avg = 0; break; } total_major_avg += double.Parse(array[1]) * subject_avg; total_credit += double.Parse(array[1]); } Console.WriteLine(total_major_avg / total_credit);
728x90'Development > Program Solving' 카테고리의 다른 글
[백준 단계별로 풀어보기] 2차원 배열 with C# (0) 2023.09.06 [백준 단계별로 풀어보기] 문자열 with C# (0) 2023.07.11 [백준 단계별로 풀어보기] 1차원 배열 with C# (0) 2023.07.11 [백준 단계별로 풀어보기] 반복문 with C# (0) 2023.07.10 [백준 10829번] 이진수 변환 (feat. NodeJS) (0) 2021.02.05