문자열은 글자의 순서예요
리스트까지 배웠어요. text = "banana"는 글자 여섯 개로 된 문자열을 만들어요. 숫자 3과 문자열 "3"은 서로 다른 값이에요. input()은 int로 감싸지 않으면 문자열을 그대로 읽어요.
text = "banana"
print(len(text))
print(text[0])
len은 6, 첫 글자는 b예요. 문자열도 0번 인덱스부터 읽어요. ""는 길이 0인 빈 문자열이라 text[0]에 접근할 수 없어요. 아래 그림은 같은 글자 a가 세 위치에 나타나는 것을 보여 줘요.
한 글자씩 꺼내 비교해요
리스트를 순회한 것처럼 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: 문자열의 글자를 순회하고 같은 값인지 비교해요. 빈 문자열에는 읽을 글자가 없어요.