반응형

1. 문제

- [백준 C#] 1152번 단어의 개수 (C#)  (https://www.acmicpc.net/problem/1152)

 

 

영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.

 

 

2. 문제 포인트

  • 문장을 공백 단위로 분할하여 리스트로 입력 받기
  • 공백이 있는 경우 내용이 없는 요소가 있을 수 있어 RemoveAll(string.IsNullOrEmpty)로 빈 요소를 제거
  • 리스트의 요소 개수 출력

 

 

반응형

 

 

3. 전체 코드

using System;
using System.Collections.Generic;

namespace B2_01152번
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 문장을 리스트에 단어 단위로 나눠 입력받기
            List<string> str = new List<string>(Console.ReadLine().Split());

            // 리스트에 있는 내용없는 요소를 모두 삭제
            // remove는 처음부터 탐색하여 빈값 or null을 하나만 삭제하고 종료
            // 따라서 RemoveAll()로 삭제해줘야 함
            str.RemoveAll(string.IsNullOrEmpty);



            // 배열 개수(단어 개수) 출력
            Console.WriteLine(str.Count);
        }
    }
}

// 1152번 단어의 개수
// https://www.acmicpc.net/problem/1152
반응형

+ Recent posts