문제번호: 1543
문제명: 문서검색
문제링크: https://www.acmicpc.net/problem/1543
문제내용과 예제 입/출력은 위 문제 링크에서 확인해 주시기 바랍니다.
안녕하세요. 오늘은 브루트포스 알고리즘을 풀어보았습니다. 흔히 무식한 알고리즘이라고 불리는데, 덕에 간단하게 풀 수 있었던 문제였습니다. 해당 문제는 문자열에서 중복되지 않은 단어가 포함된 개수를 구하는 문제입니다. While문으로 순회하면서 if문으로 i를 기점으로 자른 단어가 입력으로 받은 단어와 일치한다면 카운트를 올리고, i를 단어의 끝 인덱스로 올려줍니다. 아니라면 i++를 해줍니다. 다음은 정답코드입니다.
public static void Main()
{
using var sr = new StreamReader(Console.OpenStandardInput());
using var sw = new StreamWriter(Console.OpenStandardOutput());
string str = sr.ReadLine();
string word = sr.ReadLine();
int startIndex = 0;
int answer = 0;
while (startIndex <= str.Length - word.Length)
{
if (str.Substring(startIndex, word.Length) == word)
{
startIndex = startIndex + word.Length;
answer++;
}
else
startIndex++;
}
sw.WriteLine(answer);
sr.Close();
sw.Close();
}
'알고리즘 풀이' 카테고리의 다른 글
| [C#] 백준 13909번 문제풀이 (0) | 2026.01.31 |
|---|---|
| [C#] 백준 17478번 문제풀이 (3) | 2026.01.30 |
| [C#] 백준 2018번 문제풀이 (0) | 2026.01.28 |
| [C#] 백준 10867번 문제풀이 (0) | 2026.01.27 |
| [C#] 백준 35143번 문제풀이 (0) | 2026.01.26 |