Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
33
Task/ABC-problem/Swift/abc-problem-1.swift
Normal file
33
Task/ABC-problem/Swift/abc-problem-1.swift
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
import Foundation
|
||||
|
||||
func Blockable(str: String) -> Bool {
|
||||
|
||||
var blocks = [
|
||||
"BO", "XK", "DQ", "CP", "NA", "GT", "RE", "TG", "QD", "FS",
|
||||
"JW", "HU", "VI", "AN", "OB", "ER", "FS", "LY", "PC", "ZM" ]
|
||||
|
||||
var strUp = str.uppercaseString
|
||||
var final = ""
|
||||
|
||||
for char: Character in strUp {
|
||||
var CharString: String = ""; CharString.append(char)
|
||||
for j in 0..<blocks.count {
|
||||
if blocks[j].hasPrefix(CharString) ||
|
||||
blocks[j].hasSuffix(CharString) {
|
||||
final.append(char)
|
||||
blocks[j] = ""
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return final == strUp
|
||||
}
|
||||
|
||||
func CanOrNot(can: Bool) -> String {
|
||||
return can ? "can" : "cannot"
|
||||
}
|
||||
|
||||
for str in [ "A", "BARK", "BooK", "TrEaT", "comMON", "sQuAd", "Confuse" ] {
|
||||
println("'\(str)' \(CanOrNot(Blockable(str))) be spelled with blocks.")
|
||||
}
|
||||
22
Task/ABC-problem/Swift/abc-problem-2.swift
Normal file
22
Task/ABC-problem/Swift/abc-problem-2.swift
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
import Swift
|
||||
|
||||
func canMake(word: String) -> Bool {
|
||||
var blocks = [
|
||||
"BO", "XK", "DQ", "CP", "NA", "GT", "RE", "TG", "QD", "FS",
|
||||
"JW", "HU", "VI", "AN", "OB", "ER", "FS", "LY", "PC", "ZM"
|
||||
]
|
||||
|
||||
for letter in word.uppercased().characters {
|
||||
guard let index = blocks.index(where: { $0.characters.contains(letter) }) else {
|
||||
return false
|
||||
}
|
||||
|
||||
blocks.remove(at: index)
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
let words = ["a", "bARK", "boOK", "TreAt", "CoMmon", "SquAd", "CONFUse"]
|
||||
|
||||
words.forEach { print($0, canMake(word: $0)) }
|
||||
Loading…
Add table
Add a link
Reference in a new issue