on my way
[프로그래머스 코딩테스트 연습] 옹알이(2) (Python3) Lv1 본문
반응형
def solution(babbling):
words = ["aya","ye","woo","ma"]
cnt = 0
for b in babbling:
for w in words:
if not w*2 in b: # 같은 발음이 연속해서 나오는 경우 제외
b = b.replace(w, ' ') # 발음을 공백으로 대체
if b.isspace(): # 발음을 다 지웠을 때 공백만 남으면 유효한 단어
cnt += 1
return cnt
코드 분석
- 발음 배열 정의:
- words = ["aya", "ye", "woo", "ma"]는 사용할 수 있는 발음들을 정의
- 반복문 시작:
- for b in babbling:: 주어진 babbling 리스트에서 각 단어를 하나씩 검사
- 발음 제거:
- for w in words:: 각 단어 b에 대해 "aya", "ye", "woo", "ma"가 포함되어 있는지 확인하고, 포함되어 있다면 해당 발음을 공백으로 대체
- if not w*2 in b:: 이 조건은 같은 발음이 연속으로 나오는 경우를 제외한다. 즉, "ayaya" 같은 경우는 규칙에 맞지 않기 때문에 이를 처리
- 유효성 검사:
- if b.isspace():: 모든 발음이 제거되고 나서 남은 것이 공백(' ')만 있는지 확인한다. 만약 그렇다면, 이 단어는 유효한 단어로 간주되고 cnt 값을 증가
- 결과 반환:
- 최종적으로 cnt는 주어진 리스트에서 규칙에 맞는 단어의 개수를 반환
같은발음이 연속해서 나오는 것을 w*2로 대체하는 부분에서 헤맸다.
반응형
'algorithm > Python' 카테고리의 다른 글
[프로그래머스 코딩테스트 연습] 과일장수 (Python3) Lv1 (0) | 2024.09.01 |
---|---|
[프로그래머스 코딩테스트 연습] 덧칠하기 (Python3) Lv1 (0) | 2024.08.30 |
[프로그래머스 코딩테스트 연습] 정렬 > K번째수 (Python3) Lv1 (0) | 2024.08.27 |
[프로그래머스 코딩테스트 연습] 정렬 > H-Index (Python3) (0) | 2024.08.26 |
[프로그래머스 도서실습 내일은 코딩테스트] 파트1.문자열 다루기 : 숨어있는 숫자의 덧셈(2) (Python3) (0) | 2024.08.26 |