[Python 문제풀이] 5일차
2020. 7. 13. 11:00ㆍ03. Resources/Python
728x90
반응형
Day_5
Q10. commonCharacterCount
Given two strings, find the number of common characters between them.
def commonCharacterCount(s1, s2):
s3 = list(s1)
s4 = list(s2)
save = list()
if len(s3) >= len(s4):
for i in range(len(s4)):
Character = s4[i]
try:
Idx = s3.index(Character)
except:
pass
else:
save.append(s3.pop(Idx))
else:
for i in range(len(s3)):
Character = s3[i]
try:
Idx = s4.index(Character)
except:
pass
else:
save.append(s4.pop(Idx))
return len(save)
작성 흐름
# def commonCharacterCount(s1, s2):
# 테스트를 위한 문자열
s1 = "aabcc"
s2 = "adcaa"
# 뒤에서 인덱스 찾고 pop 할 때 str형은 pop을 할 수 없어서 list 처리를 해주는 부분
s3 = list(s1)
s4 = list(s2)
save = list()
# 알고리즘
# 두 입력 중 길이가 짧은 녀석을 먼저 찾는다.
# 짧은 녀석의 길이로 반복을 한다
# 짧은 녀석의 첫 값을 확인한다.
# 긴 녀석에서 해당 값을 찾아서 pop 하고, 이를 다른 리스트에 저장한다.
if len(s1) >= len(s2):
for i in range(len(s2)):
Character = s2[i]
try:
Idx = s3.index(Character)
except:
pass
else:
save.append(s3.pop(Idx))
else:
for i in range(len(s1)):
Character = s1[i]
try:
Idx = s4.index(Character)
except:
pass
else:
save.append(s4.pop(Idx))
print(len(save))
반응형
'03. Resources > Python' 카테고리의 다른 글
[Python 문제풀이] 7일차 (0) | 2020.07.15 |
---|---|
[Python 문제풀이] 6일차 (0) | 2020.07.14 |
[Python 문제풀이] 4일차 (0) | 2020.07.12 |
[Python 문제풀이] 3일차 (0) | 2020.07.11 |
[Python 문제풀이] 2일차 (0) | 2020.07.10 |