https://www.acmicpc.net/problem/2941
코드
croatia_alphabet = set(["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="])
input_str = input()
n = len(input_str)
answer = 0
idx = 0
while idx < n:
answer += 1
if idx >= n-1:
break
if idx < n-1 and input_str[idx:idx+2] in croatia_alphabet:
idx += 2
continue
elif idx < n-2 and input_str[idx:idx+3] == "dz=":
idx += 3
continue
idx += 1
print(answer)
두 글자 이상의 알파벳은 집합에 따로 모아둔다.
그리고 입력으로 주어진 문자열을 순회하며
1. 현재 인덱스부터 시작해서 2글자가 크로아티아 알파벳이라면 continue
2. 현재 인덱스부터 시작해서 3글자가 크로아티아 알파벳인지 continue
3. 둘 다 아니면 한 글자짜리 알파벳
이렇게 while문을 도는 횟수를 구하면 알파벳의 개수를 구할 수 있다.
'문제풀이 > 문자열' 카테고리의 다른 글
[Python/파이썬] 백준 9996번 한국이 그리울 땐 서버에 접속하지 (0) | 2025.02.23 |
---|---|
[Javascript/자바스크립트] 백준 5648번 역원소 정렬 (0) | 2024.07.27 |
[Javascript/자바스크립트] 백준 1942번 디지털시계 (0) | 2024.07.09 |
[Javascript/자바스크립트] 구름 - 단어의 개수 세기 (0) | 2024.07.01 |
[Python/파이썬] 백준 14405번 피카츄 (0) | 2024.06.24 |