본문 바로가기
Algorithm Problem Solving/SW Expert Academy

[Python] SW Expert Academy - 4865. 글자수

by ʚ⇜❅🎕̈❄⇝ɞ 2021. 7. 27.
728x90
반응형

SW Expert Academy 4865번 글자 수 문제는 두 개의 문자열이 주어 졌을 때, 문자열 str1에 포함된 글자들이 str2에 몇 개씩 들어있는지 찾고, 그중 가장 많은 글자의 개수를 출력하는 문제이다. 자료구조 문자열의 활용에 관한 문제로 난이도는 D2이다.

 

SW Expert Academy 4865번 글자 수 문제 정보

자료구조 분류

- 문자열 String

난이도

- D2

 

글자 수 문제 요약

  • 길이가 N인 문자열 str1과 길이가 M인 str2가 주어지고, 문자열 str1에 포함된 글자들 중 str2에 가장 많은 글자의 개수를 출력한다.
  • N의 범위는 5 이상 100 이하, M의 범위는 10 이상 1000 이하이며 N보다 크거나 같다.

문제 풀이 과정

  • str1의 글자들과 글자 개수에 관한 정보를 담은 cntDict 딕셔너리를 정의한다.
  • str2 글자들을 탐색하며 str1의 글자들 중 같은 글자가 있으면 해당 글자의 값을 +1 한다.
  • 테스트 케이스 번호, 가장 많은 글자의 개수를 출력한다.
코드 및 설명
  • cntDict {} - str1의 글자들과 각 글자들이 str2에 들어있는 개수를 저장한 딕셔너리
T = int(input())
for tc in range(T):
    str1 = input()
    str2 = input()

    cntDict = {}
    for s in str1:
        cntDict[s] = 0

    # str1 내의 글자를 str2에서 발견하면 카운트
    for s2 in str2:
        if s2 in cntDict:
            cntDict[s2] += 1

    print("#%d %d" % (tc + 1, max(cntDict.values())))

SW Expert Academy 4865번 글자 수 문제는 문자열 활용에 관한 문제이며 글자 수를 세기 위해 파이썬의 딕셔너리를 사용하여 문제를 해결하였다. 난이도는 D2인만큼 간단하고 쉬웠다.

 

728x90
반응형

댓글