내일배움캠프 AI/페어프로그래밍
[페어프로그래밍] 230428 옹알이(1) | count
생각하는 코댕이
2023. 4. 28. 22:29
728x90
페어프로그래밍 결과 코드
# 페어프로그래밍으로 제작한 코드
def solution(babbling):
baby = ["aya", "ye", "woo", "ma"]
# <1> babbling의 요소를 따로 분리
# <2> 요소에서 발음가능한 소리가 있는지 카운트!
# <3> 카운트한 소리의 총 길이와 요소의 길이가 일치한다면 발음가능 소리!
result = 0
for babble in babbling: #<1>
babble_count = 0
for i in range(len(baby)):
babble_count += len(baby[i])*babble.count(baby[i]) #<2>
if babble_count == len(babble): #<3>
result +=1
return result
더보기
# 페어프로그래밍으로 제작한 코드
import os
os.system("cls")
def solution(babbling):
baby = ["aya", "ye", "woo", "ma"]
# <1> babbling의 요소를 따로 분리
# <2> 요소에서 발음가능한 소리가 있는지 카운트!
# <3> 카운트한 소리의 총 길이와 요소의 길이가 일치한다면 발음가능 소리!
result = 0
for babble in babbling: #<1>
babble_count = 0
for i in range(len(baby)):
a=babble.count(baby[i]) #<2>
print("a",a)
babble_count += len(baby[i])*a
print(f"계산길이{babble_count}| 단어길이{len(babble)}")
if babble_count == len(babble): #<3>
result +=1
print(f"일치 | 총 가능발음{result}")
return result
# =========테스트공간=============
babbling1 = ["aya", "yee", "u", "maa", "wyeoo"] #1
babbling2 = ["ayaye", "uuuma", "ye", "yemawoo", "ayaa"] #3
print("1 : ",solution(babbling1))
print("\n")
print("3 : ",solution(babbling2))
리팩토링 코드
# 팀원이 제작한 다른 코드 | str 요소를 str하나하나의 단위로 분리하고 쌓아가며 비교,리셋하였다. 신박한 접근이다
# <1> babbling의 요소를 따로 분리
# <2> 요소에서 발음가능한 소리가 있다면 제거하기
# <3> 남은 요소가 ""이라면 발음가능 소리!
def solution(babbling):
result = 0
for i in babbling:
count = 0
aa = ""
bb = ["aya", "ye", "woo", "ma"]
for a in i:
aa += a
# 하나씩 더해보면 그럴 일은 없지 않을까
if aa in bb:
# 옹알이에 적합한 단어가 완성될 경우!
aa = ''
# 끝날 때 기준으로 얘가 빈 str이어야 한다.
count += 1
# 얘는 0보다 커야 한다.
if len(aa) == 0 and count > 0:
result += 1
return result
더보기
# 팀원이 제작한 다른 코드 | 로직은 같지만 매개변수를 생략하고, data type 변환없이 연산하였다.
import os
os.system("cls")
# <1> babbling의 요소를 따로 분리
# <2> 요소에서 발음가능한 소리가 있다면 제거하기
# <3> 남은 요소가 ""이라면 발음가능 소리!
def solution(babbling):
result = 0
for i in babbling:
count = 0
aa = ""
bb = ["aya", "ye", "woo", "ma"]
for a in i:
aa += a
# 하나씩 더해보면 그럴 일은 없지 않을까
if aa in bb:
# 옹알이에 적합한 단어가 완성될 경우!
aa = ''
# 끝날 때 기준으로 얘가 빈 str이어야 한다.
count += 1
# 얘는 0보다 커야 한다.
if len(aa) == 0 and count > 0:
result += 1
return result
# =========테스트공간=============
babbling1 = ["aya", "yee", "u", "maa", "wyeoo"] #1
babbling2 = ["ayaye", "uuuma", "ye", "yemawoo", "ayaa"] #3
print("1 : ",solution(babbling1))
print("\n")
print("3 : ",solution(babbling2))
시사점 or 새로이 알게된 점
str을 하나하나로 쪼개서 판별하는 것은 생각지 못한 발상이었다.
시야가 넓혀진 것 같다.
728x90