728x90
반응형
1. 문제 설명
2. 풀이과정
해당 문제는 발음할 수 있는 경우를 조합해 가능한 문자열의 개수를 구하는 문제이다.
문자열마다 발음할 수 있는 경우를 하나씩 판별하여 연속된 발음을 제외하고 발음할 수 있다면 해당 발음을 0으로 대체한다. 마지막에 문자열이 모두 0으로 대체되었다면 발음할 수 있는 문자열이다.
- 발음할 수 있는 경우를 저장한다. li = ["aya", "ye", "woo", "ma"]
- 문자열 배열을 하나씩 추출하며 판별한다. for i in babbling
- 발음할 수 있는 발음을 하나씩 추출하며 for j in li
- 만약 연속 발음이 추출한 문자열 배열에 존재하면 if (j * 2 in i)
- 발음을 연속으로 할 수 없기 때문에 판별을 종료한다. break
- 반면 추출한 문자열 배열에 연속 발음이 존재하지 않는다면 else
- 문자열 배열에 있는 발음을 0으로 대체한다. if (j in i): i = i.replace(j, '0' * len(j))
- 모든 발음에 대한 판정이 끝나면 바꾼 문자열 배열에 존재하는 '0'의 개수를 세어 모두 '0'으로 바뀌었다면 발음할 수 있는 문자열이다. if (i.count('0') == len(i)): answer += 1
반응형
3. 소스코드
def solution(babbling):
answer = 0
li = ["aya", "ye", "woo", "ma"]
for i in babbling:
for j in li:
if (j * 2 in i):
break
else:
if (j in i):
i = i.replace(j, '0' * len(j))
if (i.count('0') == len(i)):
answer += 1
return answer
728x90
반응형
'프로그래머스 > Python' 카테고리의 다른 글
[프로그래머스] [1차] 프렌즈4블록 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.09.13 |
---|---|
[프로그래머스] [3차] 파일명 정렬 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.09.11 |
[프로그래머스] 등굣길 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.09.03 |
[프로그래머스] 숫자 짝꿍 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.09.01 |
[프로그래머스] 뒤에 있는 큰 수 찾기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.28 |
[프로그래머스] 모음사전 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.26 |
[프로그래머스] 방문 길이 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.21 |
[프로그래머스] 게임 맵 최단거리 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.20 |