-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMorse Decoder.swift
More file actions
108 lines (84 loc) · 1.84 KB
/
Copy pathMorse Decoder.swift
File metadata and controls
108 lines (84 loc) · 1.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
//
// Morse Decoder.swift
// CodeCademy Code
//
// Created by Jeremiah Fries on 3/23/24.
//
import Foundation
import SwiftUI
var englishText = "this is a secret message"
var secretMessage = ".... --- .-- -.. -.-- .--. .- .-. - -. . .-."
var letterToMorse: [String: String] = [
"a": "·−",
"b": "−···",
"c": "−·−·",
"d": "−··",
"e": "·",
"f": "··−·",
"g": "−−·",
"h": "····",
"i": "··",
"j": "·−−−",
"k": "−·−",
"l": "·−··",
"m": "−−",
"n": "−·",
"o": "−−−",
"p": "·−−·",
"q": "−−·−",
"r": "·−·",
"s": "···",
"t": "−",
"u": "··−",
"v": "···−",
"w": "·−−",
"x": "−··−",
"y": "−·−−",
"z": "−−··"
]
//print(letterToMorse)
//Store encrypted message here
var morseText = ""
var decodedMessage = ""
//Remember to use correct Array Syntax
var morseCodeArray = [String]()
var currMorse = ""
for element in englishText {
if let morseChar = letterToMorse["\(element)"] {
morseText += morseChar + " "
} else {
morseText += " "
}
}
//print(morseText)
for char in secretMessage {
if char != " " {
currMorse.append(char)
} else {
switch currMorse {
case "":
currMorse += " "
case " ":
morseCodeArray.append(" ")
currMorse = ""
default:
morseCodeArray.append(currMorse)
currMorse = ""
}
}
}
morseCodeArray.append(currMorse)
//print(morseCodeArray)
var morseToLetter: [String: String] = [:]
//Review you mixed up the order of your key and values in (letter, morseChar)
for (letter, morseChar) in letterToMorse {
morseToLetter[morseChar] = letter
}
for morseValue in morseCodeArray {
if let letterChar = morseToLetter[morseValue] {
decodedMessage += letterChar
} else {
decodedMessage += " "
}
}
print(decodedMessage)