https://school.programmers.co.kr/learn/courses/30/lessons/17677
from collections import Counter
def solution(str1, str2):
answer = 0
arr1 = []
arr2 = []
for i in range(0,len(str1)-1):
if str1[i].isalpha() and str1[i+1].isalpha():
arr1.append(str1[i].lower()+str1[i+1].lower())
# print(str1[i])
for i in range(0,len(str2) - 1):
if str2[i].isalpha() and str2[i+1].isalpha():
arr2.append(str2[i].lower()+str2[i+1].lower())
c1 = Counter(arr1)
c2 = Counter(arr2)
o = list((c1 & c2).elements())
t = list((c1 | c2).elements())
if len(o) == 0 and len(t) == 0:
return 65536
answer = int((len(o) / len(t)) * 65536)
return answer
딱히 어려운 구현문제는 아니었다.
우선 str[i]와 str[i+1]를 .isalpha()를 통해 둘 모두 알파벳인지 확인 후에 리스트에 담는다.
str1, str2를 담은 리스트를 &와 | 연산자를 통해 교집합과 합집합을 구하면 끝이난다.
'알고리즘' 카테고리의 다른 글
백준)차이를 최대로 (0) | 2023.02.26 |
---|---|
백준)날짜 계산 (브루트포스) (0) | 2023.02.26 |
프로그래머스)이진 변환 반복하기 (0) | 2023.02.24 |
백준)1,2,3 더하기 (0) | 2023.02.24 |
백준)부녀회장이 될테야 (0) | 2023.02.23 |