[プログラマー/Python]レベル2ニュースクラスタ
16744 ワード
問題を解く
エラーコード
import math
def solution(str1, str2):
str1=str1.lower()
str2=str2.lower()
def make(string):
string_array=[]
word_cnt=0
temp=""
for i in range(len(string)):
temp+=string[i]
word_cnt+=1
if word_cnt==2:
if temp.isalpha()==True:
string_array.append(temp)
word_cnt=1
temp=temp[-1]
else:
continue
return string_array
str1_array=make(str1)
str2_array=make(str2)
print(str1_array)
print(str2_array)
a=[]
b=[]
def make2(m,n):
for i in m:
if i not in b:
if i in n:
min_num=min(m.count(i),n.count(i))
max_num=max(m.count(i),n.count(i))
for k in range(min_num):
a.append(i)
for k in range(max_num):
b.append(i)
else:
b.append(i)
make2(str1_array,str2_array)
make2(str2_array,str1_array)
print(a,b)
if len(a)==0 and len(b)==0:
result=1
else:
result=len(a)/len(b)
return math.trunc(result*65536)
TEKE 7,9,10,11で間違いました.コードのlist 1={1,2,4,4}に対してlist 2={4,4,5,6,7,8}
コレクションには2つの8が含まれるはずですが、8に入るとスキップされ、計算エラーが発生します.
ex) "AAbbaa_AA", "BBB"
make関数は、文字列を2文字中断することによって複数のセットを作成する関数です.
str1_array=['aa', 'ab', 'bb', 'ba', 'aa', 'aa']
str2_array=['bb', 'bb']
アルファベット以外の文字を含む要素は含まれません.
そして、各要素がこのリストにのみ存在する場合には、その要素を小集合bに追加し、2つのリストに含まれる場合には、小要素が重複する複数の集合の拡張を許容することにより、小交差a、最大交差bに追加する.
a=['bb']
b=['aa', 'ab', 'bb', 'bb', 'ba', 'aa', 'aa']
ソースコード
def solution(str1, str2):
str1=str1.lower()
str2=str2.lower()
def make(string):
string_array=[]
word_cnt=0
temp=""
for i in range(len(string)):
temp+=string[i]
word_cnt+=1
if word_cnt==2:
if temp.isalpha()==True:
string_array.append(temp)
word_cnt=1
temp=temp[-1]
else:
continue
return string_array
str1_array=make(str1)
str2_array=make(str2)
a=[]
b=[]
for i in str1_array:
if i not in str2_array:
b.append(i)
elif i not in a:
min_num=min(str1_array.count(i),str2_array.count(i))
max_num=max(str1_array.count(i),str2_array.count(i))
for k in range(min_num):
a.append(i)
for k in range(max_num):
b.append(i)
for i in str2_array:
if i not in str1_array:
b.append(i)
if len(a)==0 and len(b)==0:
result=1
else:
result=len(a)/len(b)
return int(result*65536)
Reference
この問題について([プログラマー/Python]レベル2ニュースクラスタ), 我々は、より多くの情報をここで見つけました https://velog.io/@bye9/프로그래머스파이썬-Level-2-뉴스-클러스트링テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol