← 학습 코스

문자열에서 같은 글자 세기

Python전체 작성형

문자열은 글자의 순서예요

리스트까지 배웠어요. text = "banana"는 글자 여섯 개로 된 문자열을 만들어요. 숫자 3과 문자열 "3"은 서로 다른 값이에요. input()은 int로 감싸지 않으면 문자열을 그대로 읽어요.

text = "banana"
print(len(text))
print(text[0])

len은 6, 첫 글자는 b예요. 문자열도 0번 인덱스부터 읽어요. ""는 길이 0인 빈 문자열이라 text[0]에 접근할 수 없어요. 아래 그림은 같은 글자 a가 세 위치에 나타나는 것을 보여 줘요.

banana의 여섯 글자 중 a가 인덱스 1·3·5에 있어 세 번 등장하는 관계

한 글자씩 꺼내 비교해요

리스트를 순회한 것처럼 for letter in text:로 한 글자씩 읽을 수 있어요. 같은 text와 비교할 글자 target을 사용해 봐요.

target = "a"
count = 0
for letter in text:
    if letter == target:
        count = count + 1
print(count)

letter는 b → a → n → a → n → a로 바뀌어요. target과 같을 때만 1을 더해 count는 3이에요. ==는 두 문자열의 값도 비교해요. text가 비어 있으면 반복이 없고 count는 0이에요.

직접 풀어봐요

문자열 text에 글자 target이 몇 번 등장하는지 출력해요. 같은 글자가 여러 위치에 나오면 각각 세요.

첫 줄 text(영문 소문자 0~100자), 둘째 줄 target(영문 소문자 1 자)이에요. 빈 text는 첫 줄이 빈 줄이에요. 출력은 등장 횟수와 줄 바꿈이에요.

예시 1: text="banana", target="a" → 3이에요. 예시 2: text="letter", target="t" → 2예요.

예시 입력

banana
a

예상 결과

3

예시 입력

letter
t

예상 결과

2
핵심 개념
  • stl-string: 문자열의 글자를 순회하고 같은 값인지 비교해요. 빈 문자열에는 읽을 글자가 없어요.

코드 작성과 채점은 로그인 후 이용해요

로그인하고 풀기