Data house
⭐️[python] 옹알이(1) - permutations, replace 본문
728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/120956
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
어려웠던 문제 중 하나...
너무너무 어렵다..
- 옹알이를 하는 아이는 "aya", "ma", "ye", "woo"를 조합한 옹알이를 할 수 있다.
- 아이가 한 옹알이(단어) 갯수를 구하라
인상적인 풀이들
1. itertools를 활용한 풀이
from itertools import permutations
def solution(babbling):
count = 0
# 1, 2, 3, 4가지 경우에 대해 permutations 구하기
basic_babblings = ["aya", "ye", "woo", "ma"]
all_babblings = []
for i in range(1, 5):
perms = list(permutations(basic_babblings, i))
for perm in perms:
s = ''
for element in perm:
s += element
all_babblings.append(s)
for babblings in all_babblings:
for babble in babbling:
if babblings == babble:
count += 1
return count
2. replace를 활용한 풀이
def solution(babbling):
c = 0
for b in babbling:
for w in [ "aya", "ye", "woo", "ma" ]:
if w * 2 not in b:
b = b.replace(w, ' ')
if len(b.strip()) == 0:
c += 1
return c
'Computer Knowledge > 코테 대비 오답노트' 카테고리의 다른 글
[python] 3진법 변환 - divmod(), int() (0) | 2023.09.20 |
---|---|
[python] 평행 - itertools (0) | 2023.06.07 |
[python] 겹치는 선분 길이 - set, 합집합, 교집합 (0) | 2023.05.31 |
[python] 안전지대 - for, enumerate (0) | 2023.05.31 |
[python] 직사각형 넓이 구하기 (0) | 2023.05.27 |