Swift Code Challenges

Approaching a Code Challenge

Before you hop into a Playground and start writing code to solve any of these challenges, make sure to take the proper steps to pseudo-code and plan!

Link psuedo-coding materials here

Mild Challenges

Sum of Two

Declare a function that prints the sum of the two Integers that are passed in as arguments. For example, when 14 and 9, the output should be 25.

Check Word Length

Declare a function that takes one argument, a String. If the string is 8 characters or longer, print out Valid password length!. If it is shorter, print out Try again, must be at least 8 characters.

Medium Challenges

Even or Odd?

Write a function that takes an Integer as an argument and returns "even" for even numbers or "odd" for odd numbers.

Sum of Two

Declare a function that prints the sum of the two Integers that are passed in as arguments, but only if both Integers are even. If they are not both even, print out Oops, try again. For example, when 14 and 9 are passed in, the output should be Oops, try again. When 10 and 8 are passed in, the output should be 18.

Need a Hint? You can read about the Logical AND Operator here.

Sound It Out

Declare a function that takes in a String as an argument. Return a String with dash’-’marks in between each letter in the String. For example soundItOut("Hello") -> "H-e-l-l-o-".

Once you've done that, level up! Modify your code so that the last letter does not have a dash trailing after it. For example soundItOut("Hello") -> "H-e-l-l-o".

Fizz Buzz

Write a short program that takes in an Array of Integers. For each multiple of 3, print "Fizz". For each multiple of 5, print "Buzz". For numbers which are multiples of both 3 and 5, print "FizzBuzz". If a number is not a multiple of 3 or 5, print the number itself.

Spicy Challenges

Super Fizz Buzz

Write a short program that prints each number from 1 to 100 on a new line. For each multiple of 3, print "Fizz" instead of the number. For each multiple of 5, print "Buzz" instead of the number. For numbers which are multiples of both 3 and 5, print "FizzBuzz" instead of the number.

Add Up

Write a function that takes a number as an argument. Add up all the numbers from 1 to the number that was passed in, and return the sum. For example, if your argument is 4, your function should return 10 because 1 + 2 + 3 + 4 = 10.

Dashitize

Declare a function that takes in an Integer as an argument. Return a String with dash’-’marks before and after each odd Integer, but do not begin or end the string with a dash mark. Example: dashitize(274) -> 2-7-4 dashitize(6815) -> 68-1-5

Sum of Two

Declare a function that returns the sum of the two lowest positive numbers given an array of minimum 4 integers. No empty arrays will be passed in. For example, when an array is passed like [19, 5, 42, 2, 77], the output should be 7.

Scrabble

Have you ever played Scrabble or Words with Friends? Each player gets a set of tiles, with each tile having one letter printed on it. Using the tiles you have, your task is build words. Each letter has a point value (common letters are lower in value, less commonly used letter are worth a lot!) The player who has the most points wins.

Your task today is to write a program that will calculate the score of any given word. Your function should take one argument (a word) and return an integer (the score of that word).

Use this dictionary to access the scores for each letter:

let letterScores = [
"A": 1, "B": 3, "C": 3, "D": 2,
"E": 1, "F": 4, "G": 2, "H": 4,
"I": 1, "J": 8, "K": 5, "L": 1,
"M": 3, "N": 1, "O": 1, "P": 3,
"Q": 10, "R": 1, "S": 1, "T": 1,
"U": 1, "V": 4, "W": 4, "X": 8,
"Y": 4, "Z": 10
]

Trolls

Trolls are attacking your comment section! A common way to deal with this situation is to remove all of the vowels from the trolls’ comments, neutralizing the threat. Your task is to write a function that takes a string and return a new string with all vowels removed. For example, the string “This website is for losers LOL!” would become “Ths wbst s fr lsrs LL!“. Note: for this exercise, y isn’t considered a vowel.