Programming Language/Swift
[프로그래머스][Lv. 1] 시저 암호 Swift 풀이
myungsup1250
2022. 4. 1. 19:08
https://programmers.co.kr/learn/courses/30/lessons/12926
코딩테스트 연습 - 시저 암호
어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀
programmers.co.kr
풀이는 추후에 차차 올리도록 하겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
func solution(_ s:String, _ n:Int) -> String {
let letters: [String] = (0..<26).map { String(UnicodeScalar("a".unicodeScalars.first!.value + $0)!) }
var answer: String = ""
for ch in s {
if ch == " " {
answer += " "
} else if ch.isUppercase {
answer += letters[(letters.firstIndex(where: {$0 == String(ch.lowercased())})! + n ) % letters.count].uppercased()
} else {
answer += letters[(letters.firstIndex(where: {$0 == String(ch)})! + n ) % letters.count]
}
}
return answer
}
|
cs |