0Pricing
Swift Academy · 강의

문자 세기와 순회

이모지와 악센트가 포함된 텍스트도 올바르게 순회합니다.

문자 세기와 순회은(는) CoddyKit의 무료 Swift Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Swift Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

문자 수 세기

String의 count 속성은 Character 값의 개수를 반환하며, 이는 사용자가 인식하는 문자의 개수와 같습니다.

let word = "Swift"
print(word.count)

개수는 화면에 보이는 문자를 반영합니다

Swift는 그래핌 클러스터를 세므로 accented 문자나 emoji도 하나로 계산되어 독자가 보는 결과와 일치합니다.

let cafe = "caf\u{e9}"
print(cafe.count)

emoji 개수를 정확하게 세기

하나의 emoji는 내부적으로 여러 bytes와 스칼라에 걸쳐 있더라도 문자 하나로 계산됩니다.

let s = "Hi\u{1F600}"
print("Characters:", s.count)

복잡한 emoji도 하나로 계산됩니다

가족이나 flag처럼 여러 스칼라로 이루어진 emoji도 단일 Character로 계산됩니다. 단순하게 bytes나 스칼라를 세는 방식과는 다릅니다.

let flag = "\u{1F1FA}\u{1F1F8}"
print("Characters:", flag.count)
print("Scalars:", flag.unicodeScalars.count)

for-in으로 반복하기

문자열에 대한 for-in 반복문은 각 Character를 순서대로 방문하며 그래핌 클러스터를 올바르게 건너뜁니다.

for ch in "a\u{1F600}b" {
    print(ch)
}

특정 문자 세기

반복과 카운터를 함께 사용하거나 filter를 사용하여 특정 문자의 출현 횟수를 셀 수 있습니다.

let text = "banana"
let aCount = text.filter { $0 == "a" }.count
print("a appears:", aCount)

비어 있는지 확인하기

count를 0과 비교하기보다 isEmpty를 사용하십시오. 더 명확하고 더 빠를 수도 있습니다.

let s = ""
print(s.isEmpty)
print("hello".isEmpty)

인덱싱은 정수 기반이 아닙니다

문자의 크기가 서로 다르므로 Swift 문자열은 정수 첨자 대신 String.Index를 사용합니다.

let word = "Swift"
let first = word[word.startIndex]
print(first)

인덱스로 반복하기

위치와 문자가 모두 필요할 때는 indices를 사용하여 반복할 수 있습니다.

let word = "Hi"
for i in word.indices {
    print(word[i])
}

오프셋과 함께 열거하기

enumerated()를 사용하면 각 문자와 함께 증가하는 정수 오프셋을 얻을 수 있습니다.

for (i, ch) in "abc".enumerated() {
    print(i, ch)
}

올바른 개수가 중요한 이유

그래핌 클러스터 단위로 세면 국제적인 텍스트와 emoji에서도 길이 확인, 잘라내기, 유효성 검사가 직관적으로 작동합니다.

let name = "Jose\u{301}"
print("Visible length:", name.count)

빠른 확인

Swift가 하나의 emoji를 어떻게 세는지 떠올려 보십시오.

복습: 문자 세기와 반복하기

count가 그래핌 클러스터의 개수를 반환하므로 emoji와 악센트가 있는 문자도 하나로 계산된다는 것을 배웠습니다. 또한 for-in은 문자를 올바르게 반복하고, 문자열은 정수가 아닌 String.Index를 사용하며, enumerated()는 오프셋을 제공한다는 것도 배웠습니다.

let s = "ab\u{1F600}"
print("Count:", s.count)
for (i, ch) in s.enumerated() { print(i, ch) }

자주 묻는 질문

“문자 세기와 순회” 강의는 무료인가요?

네 — “문자 세기와 순회” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Swift Academy 강의 전체를 잠금 해제할 수 있습니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“문자 세기와 순회”에서 뭘 배우나요?

이모지와 악센트가 포함된 텍스트도 올바르게 순회합니다. 브라우저에서 직접 실행하는 실습 코드로 Swift Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Swift Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Swift Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“문자 세기와 순회” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Swift Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Swift Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 문자와 자소 클러스터
  2. 유니코드 스칼라와 코드 포인트
  3. 문자 세기와 순회
  4. 인코딩 뷰: utf8, utf16, unicodeScalars
← Swift Academy(으)로 돌아가기