MUKER_DEV with iOS

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ด์ƒํ•œ ๋ฌธ์ž ๋งŒ๋“ค๊ธฐ ๋ณธ๋ฌธ

๐Ÿค– ์•Œ๊ณ ๋ฆฌ์ฆ˜/programmers

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ด์ƒํ•œ ๋ฌธ์ž ๋งŒ๋“ค๊ธฐ

MUKER 2022. 12. 28. 14:56
 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr


๋ฌธ์ œํ’€์ด๋ฅผ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํ’€์ด์™€
๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ํ’€์ด๋กœ ๋‚˜๋ˆ„์–ด ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํ’€์ด

func solution(_ s:String) -> String {
    var a = s.split(separator: " ",omittingEmptySubsequences: false)
    var result = ""
    for i in a {
        for j in i.enumerated() {
            result.append(j.offset % 2 == 0 ? j.element.uppercased() : j.element.lowercased())
        }
        result.append(" ")
    }
    result.removeLast()
    return result
}
  • ํ•ด๋‹น ํ’€์ด์—์„œ split(separator: " ")๋Š” ์—๋Ÿฌ๊ฐ€๋‚˜๊ณ  components(separatedBy: " ")๋Š” ํ†ต๊ณผ๊ฐ€ ๋˜๋Š”๊ฒƒ์ด๋‹ค!!!
  • ๊ณ ์ฐฐํ•œ ๊ฒฐ๊ณผ split์—๋Š” ๋””ํดํŠธ๋กœ ์„ค์ •๋˜์–ด์žˆ๋Š” 'omittingEmptySubsequences' ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ true๋กœ ๋˜์–ด์žˆ๋Š”๋ฐ
  • ์ด ๋…€์„์€ ๋นˆ๋ฌธ์ž์—ด ์ฆ‰ ""๋ฅผ ์ƒ๋žต์‹œ์ผœ๋ฒ„๋ฆฐ๋‹ค.
  • ํ…Œ์ŠคํŠธ์ผ€์ด์Šค์ค‘ "Hi       My       Name     is" ์ด๋Ÿฐ์‹์œผ๋กœ ๋„์–ด์“ฐ๊ธฐ๊ฐ€ ๊ธธ๊ฒŒ ๋˜์–ด ์žˆ๋‚˜๋ณด๋‹ค
  • ๊ทธ๋Ÿฌ๋ฉด ๋””ํดํŠธ๋กœ ์„ค์ •๋˜์–ด ์žˆ๋Š” split์„ " "๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„๋ฉด ["Hi","My","Name","is"]์ด๋Ÿฐ์‹์œผ๋กœ ๋ฐฐ์—ด์„ ๋ฆฌํ„ดํ•˜์ง€๋งŒ
  • omittingEmptySubsequences๋ฅผ false์‹œ์ผœ๋ฒ„๋ฆฌ๋ฉด ["Hi","","","","My",","","","",Name....]์ด๋Ÿฐ์‹์œผ๋กœ ๋นˆ ๋ฌธ์ž์—ด์„ ์ƒ๋žต์‹œํ‚ค์ง€ ์•Š๋Š”๋‹ค.
  • ๊ทธ ๊ฒฐ๊ณผ ๋นˆ๋ฌธ์ž์—ด๋„ ํ™€์ˆ˜์™€ ์ง์ˆ˜๋กœ ์„ธ์–ด์•ผํ•˜๋Š”๋ฐ ๋ชจ๋‘ ์ƒ๋žตํ•ด๋ฒ„๋ฆฌ๋‹ˆ ๊ฒฐ๊ณผ๊ฐ’์ด ๋‚˜์˜ฌ ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค.

 

๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ํ’€์ด

func solution(_ s:String) -> String {
    let a = s.components(separatedBy: " ").map { $0.enumerated().map { $0.offset % 2 == 0 ? $0.element.uppercased() : $0.element.lowercased() } }
    print(a)
    return a.map{ $0.map { $0 }.joined() }.joined(separator: " ")
}
  • ์ค‘์ฒฉ ๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ํ‘ธ๋Š” ์‚ฌ๊ณ ๋ ฅ์„ ๊ธฐ๋ฅด์ž..!!