Reto tipos literales y condicionales

Código
Avanzado
TypeScript
Curso de TypeScript
5 min
200 XP
Actualizado: 09/05/2025

¡Programa y certifícate!

Asistente de IA
Solución de código
Certificado
Empezar ejercicio

Descripción

Crear un sistema de notificaciones con tipos literales y condicionales

Crea un sistema de notificaciones utilizando tipos literales y condicionales en TypeScript. Debes definir:

  1. Un tipo literal llamado TipoNotificacion que solo permita los valores: "info", "exito", "advertencia" o "error".

  2. Un tipo literal llamado PrioridadNotificacion que solo permita los valores numéricos: 1, 2 o 3.

  3. Una interfaz Notificacion con las siguientes propiedades:

  • tipo: de tipo TipoNotificacion
  • mensaje: string
  • prioridad: de tipo PrioridadNotificacion
  1. Una función formatearNotificacion que reciba un parámetro de tipo Notificacion y devuelva un string con el siguiente formato:
  • Si el tipo es "error": "🔴 ERROR [Prioridad X]: Mensaje"
  • Si el tipo es "advertencia": "🟠 ADVERTENCIA [Prioridad X]: Mensaje"
  • Si el tipo es "exito": "🟢 ÉXITO [Prioridad X]: Mensaje"
  • Si el tipo es "info": "🔵 INFO [Prioridad X]: Mensaje"

Donde X es el valor de la prioridad y Mensaje es el texto de la notificación.

Prueba tu implementación creando al menos una notificación de cada tipo y mostrando el resultado formateado.

Solución al ejercicio de programación en TypeScript

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el ejercicio de programación en TypeScript para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con ejercicios de programación en TypeScript

Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Asistente de IA

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades en TypeScript

⭐⭐⭐⭐⭐
4.9/5 valoración