개수와 인덱스
Coddy Swift 여정의 로직 및 흐름 섹션에 포함된 레슨 — 56개 중 1번째.
기초 과정에서 문자 수를 얻기 위해 str.count를 사용해 보셨을 것입니다. 더 나아가려면 Swift String은 단순한 바이트 배열이 아니라 Characters의 시퀀스라는 점을 이해해야 합니다.
let greeting = "Hello"
print(greeting.count) // 5
print(greeting.first!) // "H"
print(greeting.last!) // "o"
print(greeting.isEmpty) // false정수로는 문자열에 인덱스를 지정할 수 없습니다. 특정 위치의 문자를 가져오려면, 문자열의 시작 부분으로부터 오프셋된 index를 요청하세요:
let i = greeting.index(greeting.startIndex, offsetBy: 1)
print(greeting[i]) // "e"first, last, isEmpty 프로퍼티는 일상적으로 사용되는 도구입니다. 특정 위치가 정말로 필요한 경우에만 인덱스를 사용하세요.
챌린지
초급한 줄의 입력을 읽습니다. 다음 세 줄을 출력하세요:
- 입력된 문자열의 글자 수
- 첫 번째 문자와 마지막 문자를 공백으로 구분하여 출력 (예:
Hello의 경우H o) - 첫 번째 문자와 마지막 문자가 대소문자 구분 없이 같은 글자이면
true, 그렇지 않으면false를 출력 (예:Anna,RadaR)
입력에는 최소 한 글자 이상이 포함되어 있다고 가정합니다.
입력이 RadaR인 경우, 출력은 다음과 같습니다:
5
R R
true치트 시트
Swift의 String은 문자(Characters)의 시퀀스입니다. 주요 속성:
let s = "Hello"
s.count // 5
s.first! // "H"
s.last! // "o"
s.isEmpty // false특정 위치의 문자에 접근하려면 인덱스 오프셋을 사용하세요:
let i = s.index(s.startIndex, offsetBy: 1)
print(s[i]) // "e"대소문자를 구분하지 않는 문자 비교:
s.first!.lowercased() == s.last!.lowercased()직접 해보기
let line = readLine()!
// TODO: 개수, 첫 번째/마지막 문자, 대소문자 구분 없는 동일 문자 확인 출력
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.