DEV Community

Discussion on: Daily Challenge #180 - SMS Shortener

Collapse
 
exts profile image
Lamonte

This one almost stumped me ngl lol

Dart

String smsShortener(String message) {
  if(message.length <= 160) return message;

  List<String> spaces = message.split(" ");
  var result = message;
  for(var idx = spaces.length-1; idx > 0; idx--) {
    var start = spaces.take(idx).join(" ");
    var end = spaces.skip(idx).map((word) => "${word[0].toUpperCase()}${word.substring(1)}").join("");
    result = "$start$end";
    if(result.length <= 160) return result;
  }
  return result.substring(0, 160);
}