코딩테스트 (C#)

백준 1152 : 단어의 개수 - C# 풀이

UniCoti-sub 2024. 10. 24.
반응형

문제 사진

이번 문제는 매우 간단하지만 예외처리가 조금 필요한 문제이다.

따라서 뭐가 문제인지 모른다면 조금 답답한 경우가 나올 수 있다.

 

로직은 일단 입력을 받고 Split을 통해서 나눈 다음 반환된 배열의 개수를

세어주면 간단히 완성되지 않을까 싶다.

 

다만 문제가 있는데 첫번째나 마지막에 공백이 오거나

아예 공백으로 입력이 주어질 수 있다는 점이다.

그런 점을 예방하기 위해서 Trim과 if문을 통한 예외처리가 필요하다.

 

using System;

namespace unicoti{
    class Program {
        static void Main(string[] args) {
            string input = Console.ReadLine()?.Trim() ?? "";
            if(input == "") {
                Console.WriteLine(0);
                return;
            }
            int num = input.Split(' ').Length;
            Console.WriteLine(num);
        }
    }
}

 

내가 만든 코드는 이와 같다.

앞에서 말한 그대로인데, 먼저 입력받고 양 끝 공백을 제거하기 위해서

Trim을 사용한다. 이후 아무 입력도 주어지지 않으면 0이라는 예외처리가 들어가고,

그 이후는 말한대로 적어주면 끝난다.


오늘의 느낀점)

Trim이라는 메서드는 알고 있었지만 무슨 기능을 하는지는

알지 못했던 것 같다. 앞으로 가끔씩 예외처리 할때 쓰일 것 같아서 좋다.

뭐 그정도의 수확이 있었던 것 같다.


이상으로 도움이 되었길 바라며,

 

끝.

반응형

댓글