Menu
Coddy logo textTech

Crear conjuntos

Parte de la sección Lógica y Flujo del Journey de Swift de Coddy. Lección 18 de 56.

Un Set es una colección no ordenada de valores únicos. Mismo tipo de element para cada miembro, no se permiten duplicados, sin orden de iteración predecible.

var colors: Set<String> = ["red", "green", "blue", "red"]
print(colors.count)              // 3 (el duplicado "red" se elimina)

La anotación de tipo Set<String> es obligatoria en la forma literal porque ["a", "b"] por sí sola se inferiría como un Array.

Tres operaciones principales: contains, insert y remove. Las dos últimas devuelven información sobre si el cambio fue significativo.

colors.insert("yellow")         // lo añade
colors.insert("red")            // ya está ahí, sin efecto
colors.contains("green")        // true
colors.remove("blue")           // devuelve "blue" o nil si falta

Crear un set a partir de un arreglo elimina duplicados en un solo paso:

let unique = Set([1, 2, 2, 3, 3, 3])
// 3 elementos, el orden exacto no está garantizado
challenge icon

Desafío

Principiante

Lee una sola línea de entrada: una lista de palabras separadas por comas (posiblemente con duplicados).

Imprime tres líneas:

  1. El número de palabras únicas (usa Set)
  2. Las palabras únicas ordenadas alfabéticamente, unidas con ,
  3. true cuando la entrada contenga la palabra swift, de lo contrario false (usa contains)

Para la entrada swift,ruby,go,swift,go,rust, la salida es:

4
go,ruby,rust,swift
true

Pruébalo tú mismo

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

// TODO: deduplicar vía Set, imprimir conteo, unidos ordenados, contiene el texto exacto de las instrucciones
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo

Practica por tu cuenta: Playground de Swift