๋ฐ์ํ
ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๋ชจ์
์ด์ํ ๋ฌธ์ ๋ง๋ค๊ธฐ
๋ฌธ์ ์ค๋ช
๋ฌธ์์ด s๋ ํ ๊ฐ ์ด์์ ๋จ์ด๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ๊ฐ ๋จ์ด๋ ํ๋ ์ด์์ ๊ณต๋ฐฑ๋ฌธ์๋ก ๊ตฌ๋ถ๋์ด ์์ต๋๋ค. ๊ฐ ๋จ์ด์ ์ง์๋ฒ์งธ ์ํ๋ฒณ์ ๋๋ฌธ์๋ก, ํ์๋ฒ์งธ ์ํ๋ฒณ์ ์๋ฌธ์๋ก ๋ฐ๊พผ ๋ฌธ์์ด์ ๋ฆฌํดํ๋ ํจ์, solution์ ์์ฑํ์ธ์.
์ ํ ์ฌํญ
- ๋ฌธ์์ด ์ ์ฒด์ ์ง/ํ์ ์ธ๋ฑ์ค๊ฐ ์๋๋ผ, ๋จ์ด(๊ณต๋ฐฑ์ ๊ธฐ์ค) ๋ณ๋ก ์ง/ํ์ ์ธ๋ฑ์ค๋ฅผ ํ๋จํด์ผ ํฉ๋๋ค.
- ์ฒซ ๋ฒ์งธ ๊ธ์๋ 0๋ฒ์งธ ์ธ๋ฑ์ค๋ก ๋ณด์ ์ง์๋ฒ์งธ ์ํ๋ฒณ์ผ๋ก ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
์ ์ถ๋ ฅ ์
s | return |
"try hello world" | "TrY HeLlO WoRlD" |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์
- "try hello world"๋ ์ธ ๋จ์ด "try", "hello", "world"๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ๊ฐ ๋จ์ด์ ์ง์๋ฒ์งธ ๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก, ํ์๋ฒ์งธ ๋ฌธ์๋ฅผ ์๋ฌธ์๋ก ๋ฐ๊พธ๋ฉด "TrY", "HeLlO", "WoRlD"์ ๋๋ค. ๋ฐ๋ผ์ "TrY HeLlO WoRlD"๋ฅผ ๋ฆฌํดํฉ๋๋ค.
์ ์ถ
func solution(_ s:String) -> String {
var re = ""
var count = 0
for i in Array(s){
if i == " "{
re += " "
count = 0
}
else if count%2 == 1{
re += i.lowercased()
count += 1
}
else{
re += i.uppercased()
count += 1
}
}
return re
}
๊ฒฐ๊ณผ ๊ฐ์ ์ ์ฅํ String ๋ณ์ re์ ๋จ์ด์ ์ํ๋ฒณ์ ๊ฐ์๋ฅผ ๊ตฌํ Int ๋ณ์ count๋ฅผ ์ ์ธํ๋ค.
์ ๋ ฅ๋ฐ์ ๋ฌธ์์ด์ ๋ฐฐ์ด๋ก ๋ณํํ ํ, ๋ฐฐ์ด์ ์์๊ฐ ๊ณต๋ฐฑ์ด๋ผ๋ฉด ํ ๋จ์ด๊ฐ ๋๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ re์ ๊ณต๋ฐฑ์ ๋ํ ํ count๋ฅผ 0์ผ๋ก ์ด๊ธฐํํ๋ค.
๋จ์ด์ ๊ฐ์๊ฐ ํ์๋ผ๋ฉด re๋ณ์์ ์๋ฌธ์๋ฅผ ๋ํ๊ณ , ์ง์๋ผ๋ฉด ๋๋ฌธ์๋ฅผ ๋ํ๋ค. ๊ทธ๋ฆฌ๊ณ count ๋ณ์๋ฅผ 1์ฉ ์ฆ๊ฐ์ํจ๋ค.
๋ค๋ฅธ ํ์ด
import Foundation
func solution(_ s:String) -> String {
let a = s.components(separatedBy: " ").map { $0.enumerated().map { $0.offset % 2 == 0 ? $0.element.uppercased() : $0.element.lowercased() } }
return a.map{ $0.map { $0 }.joined() }.joined(separator: " ")
}
์ ๋ ฅ๋ฐ์ ๋ฌธ์์ด์ ๊ณต๋ฐฑ๊ธฐ์ค์ผ๋ก ๋๋ ํ, ๊ฐ ๋จ์ด์ enumerated()๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ์ธ๋ฑ์ค์ ์์๋ฅผ ๊ฐ์ ธ์จ๋ค.
map์ ์ฌ์ฉํด ๋จ์ด์ ์ธ๋ฑ์ค๊ฐ ์ง์๋ผ๋ฉด ๋๋ฌธ์๋ฅผ, ํ์๋ผ๋ฉด ์๋ฌธ์๋ฅผ ๋ฐํํ์ฌ a์ ์ ์ฅํ๋ค.
ex) ์ ๋ ฅ์ด ์ ์ถ๋ ฅ ์์์ ๊ฐ์ ๋, a = [["T", "r", "Y"], ["H", "e", "L", "l", "O"], ["W", "o", "R", "l", "D"]]
map๊ณผ joined๋ฅผ ์ฌ์ฉํด์ ์ํ๋ฒณ์ ์กฐํฉํด ๋จ์ด๋ฅผ ๋ง๋ค๊ณ , ๋จ์ด๋ค์ ๊ณต๋ฐฑ์ ๋ฃ์ด ์กฐํฉํด ๋ฌธ์์ด์ ๋ง๋ค์ด ๋ฐํํ๋ค.
๋ฐ์ํ
'โจ๏ธ Language > swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ์์ฐ์ ๋ค์ง์ด ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ (0) | 2023.02.10 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ์๋ฆฟ์ ๋ํ๊ธฐ (0) | 2023.02.10 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ์ฝ์์ ํฉ (0) | 2023.02.09 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ์์ ์ํธ (0) | 2023.02.08 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ๋ฌธ์์ด์ ์ ์๋ก ๋ฐ๊พธ๊ธฐ (0) | 2023.02.08 |