์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
Tags
- dfs
- ์์
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ฐฑํธ๋ํน
- ์๊ณ ๋ฆฌ์ฆ
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ์คํ
- SwiftUI
- ๋ถํ ์ ๋ณต
- ๋ถํ ํ์
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ๋ฌธ์์ด
- ๋ฐฑ์ค
- ๋์ ํฉ
- WebView
- ๋นํธ์ฐ์ฐ์
- ์ฝํ
- ๋ถํ ์ ๋ณต
- dp
- ์ฝ๋ฉํ ์คํธ
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- Queue
- WebApp
- ๋ธ๋ฃจํธํฌ์ค
- Swift
- ios
- BFS
- ์ด์งํ์
Archives
- Today
- Total
MUKER_DEV with iOS
[Swift] ํ๋ก๊ทธ๋๋จธ์ค - ์์ ์ํธ ๋ณธ๋ฌธ
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋ฌธ์ ํ์ด๋ฅผ ์ง๊ด์ ์ผ๋ก ์ดํดํ ์ ์๋๋ก ๊ณ ์ฐจํจ์๋ฅผ ์ฌ์ฉํ์ง ์์ ํ์ด์
๊ณ ์ฐจํจ์๋ฅผ ์ฌ์ฉํ ํ์ด๋ก ๋๋์ด ๊ณต๋ถํ๊ณ ์์ต๋๋ค.
- ๋ฌธ์ ์ ๋ฐ๋ผ ํ๋์ ํ์ด๋ง ์์ ์ ์์ต๋๋ค.
๊ณ ์ฐจํจ์๋ฅผ ์ฌ์ฉํ์ง ์์ ํ์ด
func solution(_ s:String, _ n:Int) -> String {
let upper = Array("abcdefghijklmnopqrstuvwxyz".uppercased())
let lower = Array("abcdefghijklmnopqrstuvwxyz")
var result = ""
for i in s {
if i == " " { result.append(" ")}
else {
if upper.contains(i) {
result.append(String(upper[(upper.firstIndex(of: i)! + n) % 26]))
} else {
result.append(String(lower[(lower.firstIndex(of: i)! + n) % 26]))
}
}
}
return result
}
๊ณ ์ฐจํจ์๋ฅผ ์ฌ์ฉํ ํ์ด
func solution(_ s:String, _ n:Int) -> String {
return s.utf8.map { i in
var num = Int(i)
switch i {
case 65...90:
num = (num + n - 65) % 26 + 65
case 97...122:
num = (num + n - 97) % 26 + 97
default:
break
}
return String(UnicodeScalar(num)!)
}.joined()
}
- ๋ฌธ์์ด์ utf8 ํ์์ผ๋ก ๊ณ ์ฐจํจ์๋ฅผ ๋๋ฆฌ๋ฉด i ๊ฐ๋ค์ String.UTF8View.Element ๋ผ๋ ํ์ ์ ๊ฐ์ง๊ณ ๋์จ๋ค.
- utf8์ ํํ์ ์์คํค์ฝ๋์ ๊ฐ๋ค.
- ๋ฐ๋ผ์ Int๋ก ์ด๊ธฐํ ํด์ค ๋ค ์ํ๋ฒณ์ ์์คํค์ฝ๋ ๋ฒ์๋ฅผ ๋น๊ตํด ๋๋ฌธ์์ธ์ง ์๋ฌธ์์ธ์ง switch๋ฌธ์ ํตํด ๋น๊ตํ ์ ์๋ค.
- UnicodeScalar(num)!๋ Intํ์์ ์์คํค์ฝ๋๋ฅผ ๋ฃ์ผ๋ฉด ํด๋น ๋ฌธ์๋ฅผ ๋ฐํํด์ค๋ค.
๊ณ ์ฐจํจ์๋ฅผ ์ฌ์ฉํ ํ์ด
func solution(_ s:String, _ n:Int) -> String {
let alphabets = "abcdefghijklmnopqrstuvwxyz".map { $0 }
return String(s.map {
guard let index = alphabets.firstIndex(of: Character($0.lowercased())) else { return $0 }
let letter = alphabets[(index + n) % alphabets.count]
return $0.isUppercase ? Character(letter.uppercased()) : letter
})
}
'๐ค ์๊ณ ๋ฆฌ์ฆ > programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๊ฒน์น๋ ์ ๋ถ์ ๊ธธ์ด (0) | 2023.01.04 |
---|---|
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๋ฑ์ ๋งค๊ธฐ๊ธฐ (0) | 2023.01.04 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๋ฌธ์์ด ๋ด ๋ง์๋๋ก ์ ๋ ฌํ๊ธฐ (0) | 2023.01.04 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ์นํจ ์ฟ ํฐ (0) | 2023.01.03 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ์ต์์ง์ฌ๊ฐํ (0) | 2023.01.03 |