Menu
Coddy logo textTech

개수와 인덱스

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 프로퍼티는 일상적으로 사용되는 도구입니다. 특정 위치가 정말로 필요한 경우에만 인덱스를 사용하세요.

challenge icon

챌린지

초급

한 줄의 입력을 읽습니다. 다음 세 줄을 출력하세요:

  1. 입력된 문자열의 글자 수
  2. 첫 번째 문자와 마지막 문자를 공백으로 구분하여 출력 (예: Hello의 경우 H o)
  3. 첫 번째 문자와 마지막 문자가 대소문자 구분 없이 같은 글자이면 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: 개수, 첫 번째/마지막 문자, 대소문자 구분 없는 동일 문자 확인 출력
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

로직 및 흐름의 모든 레슨