https://algospot.com/judge/problem/read/FANMEETING
팬미팅 알고리즘
def hugcount(n,f): #멤버를 2진수로 변환. 남자는 1, 여자는 0 nn = int(n.replace("F", "0").replace("M", "1"),2) #팬을 2진수로 변환. 남자는 1, 여자는 0 ff = int(f.replace("F", "0").replace("M", "1"),2) cnt = 0 #팬의 숫자에서 멤버의 숫자를 뺀 수 + 1 만큼 반복 for i in range(len(f) - len(n) + 1): #팬과 멤버를 AND 연산 값이 0인 경우 모두 허그 if int(nn & ff) == 0: cnt += 1 #멤버를 왼쪽으로 한칸 쉬프트 nn = nn << 1 print("cnt:",cnt) c = int(input()) for i in range(c): n = input() f = input() hugcount(n,f)
#입력 4 FFFMMM MMMFFF FFFFF FFFFFFFFFF FFFFM FFFFFMMMMF MFMFMFFFMMMFMF MMFFFFFMFFFMFFFFFFMFFFMFFFFMFMMFFFFFFF
#결과
cnt: 1
cnt: 6
cnt: 2
cnt: 2