© 2025 anveloper.dev
GitHub·LinkedIn·Contact

목차

  • 문제
  • 입력
  • 출력
  • 예제
  • 풀이
  • 코드
  • 복잡도
풀이 목록으로 돌아가기

BOJ 2386 - 도비의 영어 공부

2025-07-15
BOJ
브론즈 II
python
원본 문제 보기
구현
문자열
브루트포스 알고리즘

문제

BOJ 2386 - 도비의 영어 공부

문자와 문장이 주어지면, 해당 문자가 문장에 몇 번 나타나는지 세라 (대소문자 무시). #이 입력되면 종료한다.

입력

여러 줄에 문자와 문장이 주어지며, #이면 종료한다.

출력

각 줄마다 문자와 등장 횟수를 출력한다.

예제

입력출력
e Eighty sEven #e 3

풀이

문장에서 주어진 문자의 소문자/대문자 등장 횟수를 합산한다.

  1. 입력의 첫 문자를 찾을 대상으로, 나머지를 검색 문장으로 분리한다
  2. count()로 소문자 등장 횟수와 대문자 등장 횟수를 각각 센다
  3. 두 횟수를 합산하여 출력한다

핵심 아이디어: Python의 count() 메서드를 대소문자 각각에 적용하여 간결하게 처리한다.

코드

while True:
    n = input()
    if n == "#":
        break
    value = n[0]
    data = n[2::]
    result = data.count(value) + data.count(value.upper())
    print(value, result)

복잡도

  • 시간: O(N) — 문장 길이만큼 탐색
  • 공간: O(N) — 입력 문자열 저장