새소식

⌨️ Algorithms/백준

[Python] 백준 2386번_도비의 영어 공부

2023. 4. 1. 22:24

  • -

https://www.acmicpc.net/problem/2386

 

2386번: 도비의 영어 공부

출력의 각 줄은 입력으로 주어진 소문자와 그 소문자 알파벳이 나타난 횟수로 이루어진다. 이때 문장에서 해당 알파벳이 소문자로 나타나던 대문자로 나타나던 모두 세야 한다.

www.acmicpc.net

 

  • 꿍은 도비의 자유를 위해 영어를 가르치기로 결심
  • 영어 문장과 알파벳 하나가 주어지면 그 알파벳이 문장에서 몇 번 나타나는지를 세는 문제들을 내주었음
  • 도비를 위해 문제의 답을 알려주기
  • 입력
    • 입력은 몇 개의 줄들로 이루어짐
    • 각 줄에는 하나의 소문자와 영어 문장이 공백으로 구분되어 주어짐
    • 각 문장은 길이가 1에서 250이며 입력의 마지막은 #
  • 출력
    • 출력의 각 줄은 입력으로 주어진 소문자와 그 소문자 알파벳이 나타난 횟수로 이루어짐
    • 이때 문장에서 해당 알파벳이 소문자로 나타나던 대문자로 나타나던 모두 세야 함
  • 시간 제한: 1초
  • 메모리 제한: 128 MB

 

"""
입출력 예시)

g Programming Contest
n New Zealand
x This is quite a simple problem.
#
    -> g 2
       n 2
       x 0
"""

 

 

## 의사코드 ##

# 주어진 문장에서 각 문자별 개수 카운트
# from collections import Counter

 

 

 

 

from collections import Counter
while True:
    string = list(input().lower().split()) # 문장의 모든 문자를 소문자로 변환
    if string == ['#']:
        break
    else:
        # 주어진 알파벳
        alpha = string[0]
        # 주어진 문장을 하나의 문자열로 변환
        string = ''.join(string[1:])
        # 주어진 문장에서 각 문자별 개수 카운트
        cnt = Counter(string)
        # 주어진 알파벳, 문장에서 나타난 횟수 출력
        print(alpha, cnt[alpha])
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다!