https://www.acmicpc.net/problem/2941
2941번 문제는
문장에서 특정 문자열이 나왔을 때 하나로 개수를 count
해야합니다.
input으로 문장을 넣고, output으로 위에서 count한 결과 값을 출력해야 합니다.
sentence = input("")
croatia = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']
for i in croatia:
while(True):
if i in sentence:
start = sentence.find(i)
sentence = sentence.replace(sentence[start:start+len(i)], 'q')
else:
break
print(len(sentence))
문장을 입력받고, 문제에서 나와있는 문자열을 하나의 리스트로 만듭니다.
for문으로 각각의 문자열을 문장에서 확인하는데, 이때 문장에 문자열이 확인할 때 사용하는 in과 find()를 사용합니다.
문자열 in 문장를 통해 문장에 문자열이 있다면, 문장.find(문자열)으로 문자열의 시작 위치를 찾습니다.
그리고 찾은 시작위치에 있는 문자열을 문장.replace(시작위치, 변경할 문자열) 임의의 문자(q)로 변경합니다.
최종적으로 변경한 문자의 길의를 output으로 출력합니다.
해당 코드는 에디터가 코드 연습을 위해 직접 작성하였습니다.
혹시 오류가 있거나 더 좋은 코드 방향성을 아시는 분은 댓글로 남겨주시면 감사하겠습니다..!
[Baekjoon] 백준 1157번 문제 풀이 (Python) (0) | 2021.08.03 |
---|---|
[Baekjoon] 백준 7568번 문제 풀이 (Python) (0) | 2021.08.02 |
[Baekjoon] 백준 1065번 문제 풀이 (Python) (0) | 2021.07.24 |
[Baekjoon] 백준 2798번 문제 풀이 (Python) (0) | 2021.07.23 |
[Baekjoon] 백준 2839번 문제 풀이 (Python) (0) | 2021.07.20 |