๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
3๏ธโƒฃ Swift/Problem Solving

[Swift Algorithm] ์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜? Programmers(Lv.1)

by seolhee2750 2021. 6. 14.
๋ฌธ์ œ ์„ค๋ช…

๊ธธ์ด๊ฐ€ n์ด๊ณ , "์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜...."์™€ ๊ฐ™์€ ํŒจํ„ด์„ ์œ ์ง€ํ•˜๋Š” ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”. ์˜ˆ๋ฅผ๋“ค์–ด n์ด 4์ด๋ฉด "์ˆ˜๋ฐ•์ˆ˜๋ฐ•"์„ ๋ฆฌํ„ดํ•˜๊ณ  3์ด๋ผ๋ฉด "์ˆ˜๋ฐ•์ˆ˜"๋ฅผ ๋ฆฌํ„ดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

์ œํ•œ ์กฐ๊ฑด
  • n์€ ๊ธธ์ด 10,000์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.

 

์ž…์ถœ๋ ฅ ์˜ˆ
n return
3 "์ˆ˜๋ฐ•์ˆ˜"
4 "์ˆ˜๋ฐ•์ˆ˜๋ฐ•"

 

๋‚ด ๋ฌธ์ œ ํ’€์ด
func solution(_ n:Int) -> String {
    var result = ""
    for i in 0..<n {
        if i % 2 == 0 {
            result.append("์ˆ˜")
        }
        else {
            result.append("๋ฐ•")
        }
    }
    return result
}
  • ์ง, ํ™€์„ ํŒ๋ณ„ํ•˜์—ฌ ํ•ด๋‹นํ•˜๋Š” ๊ธ€์ž๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ์—ˆ๋‹ค.

 

์ธ์ƒ์ ์ธ ํ’€์ด
func solution(_ n:Int) -> String {
    return "\(String(repeating: "์ˆ˜๋ฐ•", count: n / 2))\(n % 2 == 0 ? "" : "์ˆ˜")"
}
  • ์ˆ˜๋ฐ•์„ repeatingํ•˜๊ณ  ์ˆ˜๊ฐ€ ํ™€์ˆ˜์ผ ๊ฒฝ์šฐ ๋’ค์— ์ˆ˜๋ฅผ ํ•˜๋‚˜ ๋” ์ถ”๊ฐ€ํ•ด์ฃผ๋Š” ๋ฐฉ์‹
  • ๊ฐ€๋…์„ฑ๋„ ์ข‹๊ณ  ๊น”๋”ํ•˜๋‹ค,,!

 

 

๐Ÿ’ก ํ”ผ๋“œ๋ฐฑ
  • ๊ฑฐ์˜ ์ง, ํ™€ ํŒ๋ณ„ ๋ฌธ์ œ์— ๊ฐ€๊นŒ์› ๊ณ , append๋งŒ ์•Œ๊ณ ์žˆ์œผ๋ฉด ์‰ฝ๊ฒŒ ํ‘ธ๋Š” ๋ฌธ์ œ!
  • repeating๋ฅผ ์ด๋ ‡๊ฒŒ๋„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ตฌ๋‚˜,,

 


 

๐Ÿ– [ ์ถ”๊ฐ€ ] 1์ฃผ์ผ ํ›„ ๋‹ค์‹œ ํ’€์–ด๋ณด๊ธฐ

 

func solution3(_ n:Int) -> String {
    return n%2==0 ? String(repeating:"์ˆ˜๋ฐ•", count:(n/2)) : String(repeating:"์ˆ˜๋ฐ•", count:(n/2))+"์ˆ˜"
}
  • ์ƒˆ๋กญ๊ฒŒ ํ’€์–ด๋ณด๊ณ  ์‹ถ์–ด์„œ ์ฒ˜์Œ ์ƒ๊ฐ๋‚œ ํ’€์ด๋Œ€๋กœ ํ’€์ง€ ์•Š๊ณ  ๋‹ค๋ฅด๊ฒŒ ํ’€์–ด๋ดค๋‹ค. (์ฒ˜์Œ ์ƒ๊ฐ๋‚œ๊ฑด ์ฒซ ๋ฒˆ์งธ ํ’€์ด์˜€๋˜ ๊ฒƒ,,)
  • ์ง, ํ™€์„ ํŒ๋ณ„ํ•˜๊ณ , repeating์„ ์‚ฌ์šฉํ•ด์ฃผ์—ˆ๋‹ค. ์ด์ œ repeating์€ ๋„ˆ๋ฌด ์ž˜ ํ™œ์šฉํ•˜๋Š”๋“ฏ!!!

 


 

๋ฌธ์ œ

https://programmers.co.kr/learn/courses/30/lessons/12922

๋Œ“๊ธ€