728x90
반응형
문제:
세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한다. 예를 들어, 문서가 abababa이고, 그리고 찾으려는 ababa라면, 세준이의 이 함수는 이 단어를 0번부터 찾을 수 있고, 2번부터도 찾을 수 있다. 그러나 동시에 설 수는 없다.
세준이는 문서와 검색하려는 단어가 주어졌을 때, 그 단어가 최대 몇 번 중복되지 않게 등장하는지 구하는 프로그램을 작성하시오.
입력:
첫째 줄에 문서가 주어진다. 문서의 길이는 최대 2500이다. 둘째 줄에 검색하고 싶은 단어가 주어진다. 이 길이는 최대 50이다. 문서와 단어는 알파벳 소문자와 공백으로 이루어져 있다.
출력:
첫째 줄에 중복되지 않게 최대 몇 번 등장하는지 출력한다.
풀이방법:
브루트 포스 방법으로 문서에서 함수를 찾는 방법을 사용했다. 이 때 함수를 찾았다면 함수의 길이만큼 인덱스를 이동시키고, 그렇지 않으면 1을 증가시켰다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
A=input()
B=input()
answer = 0
idx = 0
while idx <len(A):
correct=True
if A[idx]==B[0]:
for j in range(1,len(B)):
if idx+j < len(A):
if B[j]!=A[idx+j]:
correct=False
break
else:
correct = False
break
else:
correct= False
if correct:
answer+=1
idx+=len(B)
else:
idx+=1
print(answer)
|
cs |
문제링크:
https://www.acmicpc.net/problem/1543
728x90
반응형
'Algorithm > Python' 카테고리의 다른 글
[Programmers]2020 카카오 인턴십. 수식 최대화 (0) | 2020.07.09 |
---|---|
[Programmers]2020 카카오 인턴십. 키패드 누르기 (0) | 2020.07.07 |
[BOJ]5525. IOIOI (0) | 2020.06.30 |
[BOJ]11652. 카드 (0) | 2020.06.25 |
[BOJ]5052. 전화번호 목록 (0) | 2020.06.23 |