250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 데이터넥스트레벨챌린지
- vscode
- 그로스해킹
- gitignore
- iterable
- Level1
- A태그
- 알고리즘
- git #github #내일배움캠프
- 우선순위
- 가상환경
- AI 5기
- python
- venv
- Iterator
- 데벨챌
- googleappscript
- itertools
- time()
- 함수실행시간
- Display
- with\
- googlesheet
- position
- 함수성능평가
- 프로그래머스
- 데이터리안
- cte
- 내일배움캠프
- WIL
Archives
- Today
- Total
05의 개발 계발
[페어프로그래밍] 230428 옹알이(1) | count 본문
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
'내일배움캠프 AI > 페어프로그래밍' 카테고리의 다른 글
[페어프로그래밍] 230502 3진법 뒤집기 | divmod int (3) | 2023.05.02 |
---|---|
[페어프로그래밍] 230501 비밀지도 | bin Zfill (0) | 2023.05.02 |
[페어프로그래밍] 230428 모스부호(1) | .split (0) | 2023.04.28 |
[페어프로그래밍] 230426 피보나치 수 | 다중할당 for (1) | 2023.04.27 |
[페어프로그래밍] 230426 문자열 정렬하기(2) | lower sorted join (0) | 2023.04.27 |