[ํ๋ก๊ทธ๋๋จธ์ค] ์ต๋๊ฐ๊ณผ ์ต์๊ฐ, JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ
1. ๋ฌธ์ ๋งํฌ - ์ต๋๊ฐ๊ณผ ์ต์๊ฐ
https://school.programmers.co.kr/learn/courses/30/lessons/12939
2. ์ฝ๋
func solution(_ s:String) -> String {
let arr = s.split(separator: " ").map { Int(String($0))!}.sorted()
return String(arr.first!) + " " + String(arr.last!)
}
3. ์ฝ๋ ์ค๋ช
๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ์ด ๋์ด ์์ด split(separator: " ") ์ด์ฉํ์ฌ ํ๋์ฉ ํ๋ณํ ์ ์๊ฒ ๋ง๋ค์์ผ๋ฉฐ, map๋ฅผ ์ด์ฉํ์ฌ ๊ฐ ์์๋ค์ ์ ์๋ก ๋ณํํ์์ต๋๋ค. ๋ณํ๋ ์ซ์ ๋ฐฐ์ด์ sorted()๋ฅผ ํ์ฌ ์ ๋ ฌ๋ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ค์์ต๋๋ค.
๋ฐํ ๊ฐ์ผ๋ก ์ ๋ ฌ๋ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ๊ฐ์ ๊ฐ์ฅ ์์ ๊ฐ, ๋ฐฐ์ด์ ๋ง์ง๋ง ๊ฐ์ ์ ์ผ ํฐ ๊ฐ์ด๋ฏ๋ก first, last๋ฅผ ์ด์ฉํ์ฌ ๋ฐํํ์์ต๋๋ค.
-> ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ๋ค์ ์๊ฐํด ๋ณด๋ ๊ฐ์ฅ ์์ ๊ฐ, ํฐ ๊ฐ์ min() , max()๋ก๋ ๊ตฌํ ์ ์๋ค๋ ๊ฒ์ด ์๊ฐ๋ฌ์ต๋๋ค.
1. ๋ฌธ์ ๋งํฌ - JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ
https://school.programmers.co.kr/learn/courses/30/lessons/12951
2. ์ฝ๋
func solution(_ s:String) -> String {
var arr = Array(s.map { String($0.lowercased()) })
for i in 0..<arr.count{
if Int(arr[i]) != nil{
continue
}else if i == 0 {
arr[i] = arr[i].uppercased()
}
if i + 1 < arr.count {
if arr[i] == " " && arr[i+1] != " " {
arr[i+1] = arr[i+1].uppercased()
}
}
}
return arr.joined()
}
3. ์ฝ๋ ์ค๋ช
์ ๋ ฅ๋ฐ์ ๋ฌธ์์ด s๋ฅผ ์ ๋ถ ๋ฌธ์์ด๋ก ๋ณํํ๊ณ ์๋ฌธ์๋ก ๋ณํํ ํ ( lowercased() ) ๋ฐฐ์ด arr๋ก ๋ง๋ค์์ต๋๋ค.
๋ฐ๋ณต๋ฌธ์ ํตํด ๋ฐฐ์ด arr์ ์ํํฉ๋๋ค.
์ฒซ ๋ฒ์งธ if ๋ฌธ์ Int()๋ฅผ ์ฌ์ฉํ์ฌ ๋ณํํ์ฌ ์ซ์์ธ ๊ฒฝ์ฐ continue๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ์ํ๋ก ๋๊น๋๋ค.
else if ๋ถ๋ถ์์๋ ์ซ์๊ฐ ์๋๊ณ ์ฒซ ๋ฒ์งธ ์์์ธ ๊ฒฝ์ฐ ํด๋น ์์๋ฅผ ๋๋ฌธ์๋ก ๋ณํํ๊ณ ํด๋น ์์น์ ๋๋ฌธ์๋ก ๋ณํํ ๊ฐ์ ๋ฃ์ด์ค๋๋ค.
๋ ๋ฒ์งธ if ๋ฌธ์์๋ ํ์ฌ ์์๊ฐ ๊ณต๋ฐฑ์ด๊ณ ๋ค์ ์์๊ฐ ๊ณต๋ฐฑ์ด ์๋ ๊ฒฝ์ฐ, ๋ค์ ์์๋ฅผ ๋๋ฌธ์๋ก ๋ณํํ์ฌ ํด๋น ์์น์ ๋ฃ์ด์ค๋๋ค.
joined()๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด arr์ ๊ฐ๋ค์ ํฉ์ณ์ ๋ฌธ์์ด๋ก ๋ณํํ ํ ๋ฐํํฉ๋๋ค.