문제
문자와 문장이 주어지면, 해당 문자가 문장에 몇 번 나타나는지 세라 (대소문자 무시). #이 입력되면 종료한다.
입력
여러 줄에 문자와 문장이 주어지며, #이면 종료한다.
출력
각 줄마다 문자와 등장 횟수를 출력한다.
예제
| 입력 | 출력 |
|---|---|
e Eighty sEven # | e 3 |
풀이
문장에서 주어진 문자의 소문자/대문자 등장 횟수를 합산한다.
- 입력의 첫 문자를 찾을 대상으로, 나머지를 검색 문장으로 분리한다
count()로 소문자 등장 횟수와 대문자 등장 횟수를 각각 센다- 두 횟수를 합산하여 출력한다
핵심 아이디어: 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) — 입력 문자열 저장