programmers.co.kr/learn/courses/30/lessons/17677
교집합을 구할때 교집합에 속한 것은 한번 확인 후 없애야 함.
ex) list1={1,2,4,4,4} , list2={4,4,5,6,7,8,8}
안없애면 교집합이 3개가 나옴 (4,4,4)
없애면 교집합 2개 (4,4)
코드 중 str2_copy.__delitem__ 부분 확인
def solution(str1, str2):
str1_array=[]
str2_array=[]
str1=str1.lower()
str2=str2.lower()
for i in range(len(str1)-1):
if not str1[i].isalpha() or not str1[i+1].isalpha():
continue
str1_array.append(str1[i:i+2])
for i in range(len(str2)-1):
if not str2[i].isalpha() or not str2[i+1].isalpha():
continue
str2_array.append(str2[i:i+2])
print(str1_array, str2_array)
if len(str1_array)==0 and len(str2_array)==0:
return 65536
inter=0
union=0
str2_copy=[]
for i in str2_array:
str2_copy.append(i)
for i in str1_array:
if i in str2_copy:
inter+=1
str2_copy.__delitem__(str2_copy.index(i))
union=len(str1_array)+len(str2_array)-inter
print(inter, union)
return int((inter/union)*65536)
'코딩 테스트 > 문제 풀기' 카테고리의 다른 글
[프로그래머스] 오픈채팅방 (0) | 2021.03.30 |
---|---|
[프로그래머스] 프렌즈4블록 (0) | 2021.03.30 |
[프로그래머스] 캐시 (0) | 2021.03.29 |
[프로그래머스] 예상 대진표 (0) | 2021.03.29 |
[프로그래머스] 영어 끝말 잇기 (0) | 2021.03.29 |
댓글