WalkerJei's Lifelog

백준알고리즘 11721번 열 개씩 끊어 출력하기 C# 본문

소프트웨어 개발/코딩테스트(기성 문제)

백준알고리즘 11721번 열 개씩 끊어 출력하기 C#

WalkerJei 2025. 4. 14. 19:20

세부 정보

  • 사이트: 백준알고리즘
  • 번호: 11721
  • 문제명: 열 개씩 끊어 출력하기
  • 언어: C#
  • 분류: 구현, 문자열
  • 비고: 

 

문제

알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다.

한 줄에 10글자씩 끊어서 출력하는 프로그램을 작성하시오.

 

입력

첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다.

 

출력

입력으로 주어진 단어를 열 개씩 끊어서 한 줄에 하나씩 출력한다. 단어의 길이가 10의 배수가 아닌 경우에는 마지막 줄에는 10개 미만의 글자만 출력할 수도 있다.

 

풀이

StringBuilder를 사용할 때는 Append() 함수를 통해 내용물을 붙일 수 있다.

문자 10개를 출력했는 지 초기화 없이도 확인하려면 10으로 나누어서 나머지가 0이 나오는 지를 검사하면 된다.

using System.Text;

StreamReader sr = new StreamReader(Console.OpenStandardInput());
StreamWriter sw = new StreamWriter(Console.OpenStandardOutput());

StringBuilder sb = new StringBuilder();

// 입력받을 단어
string word = sr.ReadLine();

for(int i = 1; i <= word.Length; i++)
{   
    // 문자 10개를 모두 출력했다면
    if(i % 10 == 0)
    {
        sb.Append(word[i - 1]);
        // 다음 줄로 넘어간다
        sb.Append("\n");
    }
    else sb.Append(word[i - 1]);
}

sw.WriteLine(sb.ToString());

sr.Close();
sw.Close();

 

후기

이번 문제는 푸는 방법이 의외로 잘 떠올랐다. 다만 문자 10개를 모두 출력했다고 "/n"만 바로 나오게 하면 맨 앞글자가 나오지 않는 문제가 생겼다. 이것 때문에 삽질하다가 갑자기 깨달음을 얻고 10개를 모두 출력한 이후에도 문자를 Append()를 통해 StringBuilder에 덧붙였다. 백준알고리즘은 잔디나 단계를 채우면서 쾌감을 느끼고 역량 향상을 체감할 수 있는 것 같다. 코딩테스트가 두렵지 않아질 때까지 달려보자!