https://programmers.co.kr/learn/courses/30/lessons/17677
Counter를 활용해서 주어진 조건대로 구현해서 풀었다.
나의 풀이
from collections import Counter
def solution(str1, str2):
str1 = str1.upper()
str2 = str2.upper()
intersection, union = 0 , 0
word_list1, word_list2 = [] , []
word_set = set()
for i in range(len(str1)-1):
word = str1[i:i+2]
if word.isalpha():
word_list1.append(word)
word_set.add(word)
for i in range(len(str2)-1):
word = str2[i:i+2]
if word.isalpha():
word_list2.append(word)
word_set.add(word)
cnt1 = Counter(word_list1)
cnt2 = Counter(word_list2)
for i in word_set:
intersection += min(cnt1[i],cnt2[i])
union += max(cnt1[i],cnt2[i])
try:
return int(intersection/union*65536)
except :
return 65536
'Programming > Programmers' 카테고리의 다른 글
[프로그래머스] 게임 맵 최단거리(Python) (0) | 2021.10.31 |
---|---|
[프로그래머스] 거리두기 확인하기(Python) (0) | 2021.10.31 |
[프로그래머스] 셔틀버스 (Python) (0) | 2021.10.30 |
[프로그래머스] 베스트앨범 (Python) (0) | 2021.10.29 |
[프로그래머스] 위장 (Python) (0) | 2021.10.29 |
댓글