[알고리즘 문제 풀기] 염색체(9342)

C#
lhs's avatar
Jan 28, 2025
[알고리즘 문제 풀기] 염색체(9342)
notion image

1. 문제 풀이 아이디어

  • 정규식을 활용하여 문제를 해결할 수 있다.

2. 나의 정답 코드

using System.Text.RegularExpressions; StreamReader sr = new(Console.OpenStandardInput()); StreamWriter sw = new(Console.OpenStandardOutput()); int n = int.Parse(sr.ReadLine()); for (int i = 0; i < n; i++) { string s = sr.ReadLine(); string p = @"^[ABCDEF]?A+F+C+[ABCDEF]?$"; if (Regex.IsMatch(s, p)) { sw.WriteLine("Infected!"); } else { sw.WriteLine("Good"); } } sr.Close(); sw.Close();

3. 정리

  • ^[ABCDEF]?를 사용해 문자열이 {A, B, C, D, E, F} 중 0개 또는 1개로 시작하는지 확인한다.
  • A+F+C+를 통해 A가 하나 이상, 그 뒤에 F가 하나 이상, 그리고 C가 하나 이상 포함되는 순서를 검증한다.
  • [ABCDEF]?$는 문자열이 {A, B, C, D, E, F} 중 0개 또는 1개로 끝나는지 확인한다.
  • 정규식과 일치하는 경우 "Infected!"를 출력하고, 그렇지 않으면 "Good"을 출력한다.
Share article

LHS's Study Space