반응형
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
반응형
'알고리즘 > C#' 카테고리의 다른 글
[백준 C#] 11720번 숫자의 합 (C#) (0) | 2022.09.21 |
---|---|
[백준 C#] 2675번 문자열 반복 (C#) (0) | 2022.09.20 |
[백준 C#] 4673번 셀프 넘버 (C#) (0) | 2022.09.20 |
[백준 C#] 1065번 한수 (C#) (0) | 2022.09.19 |
[백준 C#] 10818번 최소, 최대 (C#) (0) | 2022.09.19 |