문자열 순회하기 1부
Coddy Swift 여정의 기초 섹션에 포함된 레슨 — 86개 중 71번째.
배열과 마찬가지로, Swift의 문자열은 반복 가능한 문자들의 시퀀스입니다. 이를 통해 익숙한 for-in 루프를 사용하여 텍스트를 한 번에 한 문자씩 쉽게 처리할 수 있습니다.
문자열을 반복문으로 돌릴 때, Swift는 각 문자를 순서대로 제공합니다:
let word = "Hello"
for char in word {
print(char)
}
// H
// e
// l
// l
// o루프 내의 각 char는 String이 아니라 Character 타입입니다. 이러한 구분은 개별 문자를 비교하거나 조작해야 할 때 중요합니다.
이 기술을 사용하여 특정 문자의 개수를 세는 것과 같이 텍스트를 분석할 수 있습니다:
let message = "banana"
var countA = 0
for char in message {
if char == "a" {
countA += 1
}
}
print(countA) // 3문자를 비교할 때 "a"와 같이 따옴표 안에 단일 문자를 사용한다는 점에 유의하세요. Swift는 다른 문자와 비교할 때 이를 자동으로 Character로 취급합니다.
챌린지
쉬움text를 인자로 받아 문자열 내 모음의 총 개수를 반환하는 countVowels 함수를 작성하세요.
문자열의 각 문자를 순회하며 모음(a, e, i, o, u)이 몇 개인지 세어보세요. 소문자와 대문자 모음을 모두 포함해야 합니다.
매개변수:
text(String): 분석할 문자열
반환값: 문자열에서 발견된 모음의 총 개수 (Int)
예시: text가 "Hello World"인 경우, 함수는 3을 반환해야 합니다 (모음은 e, o, o입니다).
치트 시트
for-in 루프를 사용하여 문자열을 반복하고 각 문자를 처리할 수 있습니다:
let word = "Hello"
for char in word {
print(char)
}
// H
// e
// l
// l
// o루프의 각 char는 String이 아니라 Character 타입입니다.
조건문에서 문자를 직접 비교할 수 있습니다:
let message = "banana"
var countA = 0
for char in message {
if char == "a" {
countA += 1
}
}
print(countA) // 3직접 해보기
func countVowels(text: String) -> Int {
// 여기에 코드를 작성하세요
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.