๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“– Problem Solution/Programmers

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

by Fomagran ๐Ÿ’ป 2020. 2. 23.
728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ ์„ค๋ช…

๋ฌธ์ž์—ด s๋Š” ํ•œ ๊ฐœ ์ด์ƒ์˜ ๋‹จ์–ด๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋‹จ์–ด๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ณต๋ฐฑ๋ฌธ์ž๋กœ ๊ตฌ๋ถ„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋‹จ์–ด์˜ ์ง์ˆ˜๋ฒˆ์งธ ์•ŒํŒŒ๋ฒณ์€ ๋Œ€๋ฌธ์ž๋กœ, ํ™€์ˆ˜๋ฒˆ์งธ ์•ŒํŒŒ๋ฒณ์€ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พผ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”.

์ œํ•œ ์‚ฌํ•ญ

  • ๋ฌธ์ž์—ด ์ „์ฒด์˜ ์ง/ํ™€์ˆ˜ ์ธ๋ฑ์Šค๊ฐ€ ์•„๋‹ˆ๋ผ, ๋‹จ์–ด(๊ณต๋ฐฑ์„ ๊ธฐ์ค€)๋ณ„๋กœ ์ง/ํ™€์ˆ˜ ์ธ๋ฑ์Šค๋ฅผ ํŒ๋‹จํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
  • ์ฒซ ๋ฒˆ์งธ ๊ธ€์ž๋Š” 0๋ฒˆ์งธ ์ธ๋ฑ์Šค๋กœ ๋ณด์•„ ์ง์ˆ˜๋ฒˆ์งธ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

 

s return
try hello world TrY HeLlO WoRlD

ํ’€์ด: ํ•ต์‹ฌ์€ import Foundation์„ ํ•ด์ฃผ๊ณ 

๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” components(separatedBy:) ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ค„ ์•Œ์•„์•ผํ•œ๋‹ค.

๊ทธ๋ž˜์„œ ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋‹จ์–ด๋ฅผ ๋‚˜๋ˆ„๊ณ  ๊ทธ ๋‹จ์–ด๋“ค์˜ index๊ฐ’์„ ์ฐจ๋ก€๋กœ ๋„ฃ์–ด์ฃผ๊ณ  ์ง์ˆ˜๋ฒˆ์งธ๋Š” ๋Œ€๋ฌธ์ž ์•„๋‹ˆ๋ฉด ์†Œ๋ฌธ์ž๋กœ ์ฐจ๋ก€๋กœ ๋”ํ•ด์ค€๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import Foundation
func solution(_ s:String-> String {
    var answer = String()
    let arr = s.components(separatedBy: " ")
    for i in 0..<arr.count{
        if i != 0 {
            answer += " "
        }
    for j in 0..<arr[i].count{
    let index = arr[i].index(arr[i].startIndex, offsetBy: j)
            if j%2 == 0 {
                answer += String(arr[i][index]).uppercased()
            }else{
                answer += String(arr[i][index]).lowercased()
            }
        }
    }
    return answer
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter

๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด ์ค‘ ๊ฐ€์žฅ ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ ์šฐ์„  ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ ์ฃผ๊ณ  map์œผ๋กœ ์ฐจ๋ก€์ฐจ๋ก€ ๋‹จ์–ด๋“ค์˜ enumrated()๋ผ๋Š” ํ•จ์ˆ˜๋กœ offset๊ณผ element๋กœ ๋‚˜๋ˆ ์ค€ ๋’ค offset์ด ์ง์ˆ˜์ผ ๊ฒฝ์šฐ์™€ ์•„๋‹ ๊ฒฝ์šฐ๋กœ ๋‚˜๋ˆ  ๋Œ€์†Œ๋ฌธ์ž๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ๊ณ  

๋ฐ˜ํ™˜ ๊ฐ’์€ ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆˆ ๋ฐฐ์—ด๋“ค์„ joined()๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ณต๋ฐฑ์„ ๋„ฃ์–ด ๋‹ค์‹œ ํ•ฉ์ณ์ค€๋‹ค.

1
2
3
4
5
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: " ")
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs

enumrated๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ๋ฌธ์ž์˜ index ์ฆ‰ offset์„ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๊ณ 

joined๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ๋ถ„ํ–ˆ๋˜ ๋ฌธ์žฅ์„ ๋‹ค์‹œ ํ•ฉ์น˜๊ธฐ ํŽธํ•˜๋‹ค.

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€