inblog logo
|
LHS's Study Space
    알고리즘문제풀기C#

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

    C#
    lhs's avatar
    lhs
    Jan 28, 2025
    [알고리즘 문제 풀기] 염색체(9342)
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드3. 정리
    www.acmicpc.net
    https://www.acmicpc.net/problem/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

    RSS·Powered by Inblog