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

    [알고리즘 문제 풀기] 줄 세우기(11536)

    C#
    lhs's avatar
    lhs
    Feb 15, 2025
    [알고리즘 문제 풀기] 줄 세우기(11536)
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드3. 정리
    www.acmicpc.net
    https://www.acmicpc.net/problem/11536
     

    1. 문제 풀이 아이디어

    • string.Compare() 메서드를 활용하여 문자열을 비교해 문제를 해결한다.

    2. 나의 정답 코드

    using (StreamReader sr = new StreamReader(Console.OpenStandardInput())) using (StreamWriter sw = new StreamWriter(Console.OpenStandardOutput())) { int n = int.Parse(sr.ReadLine()); string prev = sr.ReadLine(); bool inc = true; bool dec = true; for (int i = 0; i < n - 1; i++) { string cur = sr.ReadLine(); if (string.Compare(cur, prev) > 0) dec = false; else inc = false; prev = cur; } if (inc) { sw.WriteLine("INCREASING"); } else if (dec) { sw.WriteLine("DECREASING"); } else { sw.WriteLine("NEITHER"); } }

    3. 정리

    • 첫 번째 문자열을 기준으로 이후 문자열들과 비교하며 정렬 여부를 판단한다.
    • inc와 dec 두 개의 불리언 변수를 사용하여 각각 오름차순과 내림차순 여부를 체크한다.
    • string.Compare(cur, prev) > 0이면 현재 문자열이 이전 문자열보다 크므로 내림차순이 아니므로 dec = false로 설정한다.
    • 반대로, cur이 prev보다 작거나 같으면 오름차순이 아니므로 inc = false로 설정한다.
    • 모든 비교가 끝난 후, inc가 참이면 "INCREASING", dec가 참이면 "DECREASING", 둘 다 거짓이면 "NEITHER"를 출력한다.
    Share article

    LHS's Study Space

    RSS·Powered by Inblog