링크 programmers.co.kr/learn/courses/30/lessons/17677
코드
import re
from collections import Counter
def subset(string):
result = []
string = string.lower()
for i in range(len(string)-1):
elem = string[i:i+2]
if elem == re.sub('[^a-z]', '', elem):
result.append(elem)
return result
def solution(str1, str2):
answer = 0
str1 = subset(str1)
str2 = subset(str2)
if not str1 and not str2:
return 65536
intersection = sum((Counter(str1)&Counter(str2)).values())
union = sum((Counter(str1)|Counter(str2)).values())
return int(intersection/union*65536)
원래 math 라이브러리를 호출해서 소숫점 뒷 자리를 버려줬는데, 생각해보니 int를 사용해도 소숫점 뒷 자리가 버려진다.
'Algorithm > Python' 카테고리의 다른 글
[python/leetcode]course schedule/tree/dfs (0) | 2021.04.07 |
---|---|
파이썬 defaultdcit 런타임에러 RuntimeError: dictionary changed size during iteration (0) | 2021.04.05 |
[파이썬/프로그래머스]배달/다익스트라/우선순위큐/가지치기!!!!!!!!! (0) | 2021.04.03 |
[파이썬/프로그래머스]점프와 순간이동 (0) | 2021.04.03 |
[파이썬/프로그래머스]예상 대진표 (0) | 2021.04.02 |