Menu
Coddy logo textTech

문자열 분리 및 결합

Coddy Swift 여정의 로직 및 흐름 섹션에 포함된 레슨. 56개 중 4번째.

구분된 텍스트를 다루기 위한 일상적인 도구 두 가지입니다. 둘 다 이미 가져온 Foundation에서 제공합니다.

components(separatedBy:) 전달한 구분 기호를 기준으로 문자열을 String 배열로 나눕니다:

let csv = "red,green,blue"
let parts = csv.components(separatedBy: ",")
print(parts)                       // ["red", "green", "blue"]

반대 작업은 모든 [String]에 사용할 수 있는 joined(separator:)입니다.

let words = ["swift", "is", "fun"]
let line = words.joined(separator: " ")
print(line)                        // "swift is fun"

다음과 같이 함께 사용하는 경우가 많습니다. 분할하고, map으로 변환한 다음, 다시 합칩니다. [String]에 대한 map의 결과도 여전히 [String]이므로 joined를 바로 사용할 수 있습니다.

challenge icon

챌린지

쉬움

입력에서 쉼표로 구분된 words 목록인 한 줄을 읽습니다.

다음 세 줄을 출력합니다:

  1. ,로 분할한 후의 words 개수
  2. > (공백, 보다 큼 기호, 공백)으로 다시 결합한 words를 대문자로 변환한 결과
  3. 목록에서 가장 긴 words(분할 후). 두 words의 길이가 같으면 first로 나타나는 것을 사용합니다.

입력이 red,green,blue인 경우 출력은 다음과 같습니다:

3
RED > GREEN > BLUE
green

직접 해보기

let line = readLine()!
let words = line.components(separatedBy: ",")

// TODO: 개수 출력, " > "로 연결하여 대문자화, 가장 긴 첫 단어
quiz icon실력 점검

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

로직 및 흐름의 모든 레슨

직접 연습해 보세요: Swift 플레이그라운드