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

C#
lhs's avatar
Feb 15, 2025
[알고리즘 문제 풀기] 줄 세우기(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. 정리

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

LHS's Study Space