문제
https://www.acmicpc.net/problem/19844
19844번: 단어 개수 세기
첫째 줄에 “문장”을 나타내는 문자열이 주어진다. 이 문자열은 영어 소문자, 띄어쓰기, -(하이픈), '(어포스트로피)로만 이루어져 있다. 이때 띄어쓰기, 하이픈, 어포스트로피 중 어느 것도 인
www.acmicpc.net
접근
- 전체 문자열을 띄어쓰기와 하이픈으로 구분한 다음, 각 문자열이 어포스트로피를 포함한다면 문제에서 주어진 합쳐지는 조건을 만족하는지 확인한다.
풀이
s = input().replace("-", " ").split(" ")
vowel = ["a", "e", "i", "o", "u", "h"]
prefix = ["c", "j", "n", "m", "t", "s", "l", "d", "qu"]
cnt = 0
for x in s:
if "'" not in x:
cnt += 1
continue
idx = x.index("'")
if x[:idx] not in prefix:
cnt += 1
else:
if x[idx + 1] in vowel:
cnt += 2
else:
cnt += 1
print(cnt)
'Python > Coding Test' 카테고리의 다른 글
21940 가운데에서 만나기 (0) | 2022.03.07 |
---|---|
22943 수 (0) | 2022.03.01 |
4803 트리 (0) | 2022.03.01 |
19641 중첩 집합 모델 (0) | 2022.02.28 |
22871 징검다리 건너기 (large) (0) | 2022.02.27 |