Programming/SWEA

[SWEA 4865].[파이썬 S/W 문제해결 기본] 3일차 - 글자수

토토모에요 2021. 8. 3. 15:24
728x90
반응형

SW Expert Academy에서 학습용으로 문제를 가져왔습니다. 문제가 될 시 수정, 삭제하겠습니다.

https://swexpertacademy.com/main/main.do

문제 : 
두 개의 문자열 str1과 str2가 주어진다. 문자열 str1에 포함된 글자들이 str2에 몇 개씩 들어있는지 찾고, 그중 가장 많은 글자의 개수를 출력하는 프로그램을 만드시오.

예를 들어 str1 = “ABCA”, str2 = “ABABCA”인 경우, str1의 A가 str2에 3개 있으므로 가장 많은 글자가 되고 3을 출력한다.

파이썬의 경우 딕셔너리를 이용할 수 있다.

[입력]

첫 줄에 테스트 케이스 개수 T가 주어진다.  1T50

다음 줄부터 테스트 케이스 별로 길이가 N인 문자열 str1과 길이가 M인 str2가 각각 다른 줄에 주어진다. 5≤N≤100, 10≤M≤1000, N≤M

[출력]

각 줄마다 "#T" (T는 테스트 케이스 번호)를 출력한 뒤, 답을 출력한다.

input

3
XYPV
EOGGXYPVSY
STJJ
HOFSTJPVPP
ZYJZXZTIBSDG
TTXGZYJZXZTIBSDGWQLW

output

#1 2
#2 1
#3 3

code

Test_case=int(input())

for t in range(1,Test_case+1):
    N=list(map(str,input()))
    M=list(map(str,input()))
    result=[]
    for i in N:
        result.append(M.count(i))

    print("#{} {}".format(t,max(result)))  

N 문자를 하나하나 분리하여 M에서의 개수를 세고 새로운 result리스트에 넣은다음 최대값을 도출하면 됩니다.

반응형