๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ–ฅ CS/Algorithm

[Algorithm/Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค(Lv.1) - [1์ฐจ] ๋‹คํŠธ๊ฒŒ์ž„

์•ˆ๋…•ํ•˜์„ธ์š” ์ œ์ธ์ž…๋‹ˆ๋‹ค!!

2018 KAKAO BLIND RECRUITMENT ๋ฌธ์ œ๋กœ ์ถœ์ œ๋˜์—ˆ๋˜ ๋‹คํŠธ๊ฒŒ์ž„ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ดค๋Š”๋ฐ์š”, ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๊ธฐ์ค€ Level1 ๋ฌธ์ œ์ด์ง€๋งŒ

์ €๋Š” ์ ‘๊ทผํ•˜๋Š”๋ฐ ๊ฝค๋‚˜ ์˜ค๋ž˜๊ฑธ๋ ธ๊ธฐ ๋•Œ๋ฌธ์—.. ์–ด๋–ป๊ฒŒ ํ’€์—ˆ๋Š”์ง€ ๋ณต๊ธฐํ•˜๋ฉฐ ์ •๋ฆฌํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!!

๋ฌธ์ œ ๋งํฌ

 

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

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

programmers.co.kr

๋ฌธ์ œ ์„ค๋ช…

์นด์นด์˜คํ†ก ๊ฒŒ์ž„๋ณ„์˜ ํ•˜๋ฐ˜๊ธฐ ์‹ ๊ทœ ์„œ๋น„์Šค๋กœ ๋‹คํŠธ ๊ฒŒ์ž„์„ ์ถœ์‹œํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ๋‹คํŠธ ๊ฒŒ์ž„์€ ๋‹คํŠธํŒ์— ๋‹คํŠธ๋ฅผ ์„ธ ์ฐจ๋ก€ ๋˜์ ธ ๊ทธ ์ ์ˆ˜์˜ ํ•ฉ๊ณ„๋กœ ์‹ค๋ ฅ์„ ๊ฒจ๋ฃจ๋Š” ๊ฒŒ์ž„์œผ๋กœ, ๋ชจ๋‘๊ฐ€ ๊ฐ„๋‹จํžˆ ์ฆ๊ธธ ์ˆ˜ ์žˆ๋‹ค.
๊ฐ“ ์ž…์‚ฌํ•œ ๋ฌด์ง€๋Š” ์ฝ”๋”ฉ ์‹ค๋ ฅ์„ ์ธ์ •๋ฐ›์•„ ๊ฒŒ์ž„์˜ ํ•ต์‹ฌ ๋ถ€๋ถ„์ธ ์ ์ˆ˜ ๊ณ„์‚ฐ ๋กœ์ง์„ ๋งก๊ฒŒ ๋˜์—ˆ๋‹ค. ๋‹คํŠธ ๊ฒŒ์ž„์˜ ์ ์ˆ˜ ๊ณ„์‚ฐ ๋กœ์ง์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

  • ๋‹คํŠธ ๊ฒŒ์ž„์€ ์ด 3๋ฒˆ์˜ ๊ธฐํšŒ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
  • ๊ฐ ๊ธฐํšŒ๋งˆ๋‹ค ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ ์ˆ˜๋Š” 0์ ์—์„œ 10์ ๊นŒ์ง€์ด๋‹ค.
  • ์ ์ˆ˜์™€ ํ•จ๊ป˜ Single(S), Double(D), Triple(T) ์˜์—ญ์ด ์กด์žฌํ•˜๊ณ  ๊ฐ ์˜์—ญ ๋‹น์ฒจ ์‹œ ์ ์ˆ˜์—์„œ 1์ œ๊ณฑ, 2์ œ๊ณฑ, 3์ œ๊ณฑ (์ ์ˆ˜1 , ์ ์ˆ˜2 , ์ ์ˆ˜3 )์œผ๋กœ ๊ณ„์‚ฐ๋œ๋‹ค.
  • ์˜ต์…˜์œผ๋กœ ์Šคํƒ€์ƒ(*) , ์•„์ฐจ์ƒ(#)์ด ์กด์žฌํ•˜๋ฉฐ ์Šคํƒ€์ƒ(*) ๋‹น์ฒจ ์‹œ ํ•ด๋‹น ์ ์ˆ˜์™€ ๋ฐ”๋กœ ์ „์— ์–ป์€ ์ ์ˆ˜๋ฅผ ๊ฐ 2๋ฐฐ๋กœ ๋งŒ๋“ ๋‹ค. ์•„์ฐจ์ƒ(#) ๋‹น์ฒจ ์‹œ ํ•ด๋‹น ์ ์ˆ˜๋Š” ๋งˆ์ด๋„ˆ์Šค๋œ๋‹ค.
  • ์Šคํƒ€์ƒ(*)์€ ์ฒซ ๋ฒˆ์งธ ๊ธฐํšŒ์—์„œ๋„ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ฒซ ๋ฒˆ์งธ ์Šคํƒ€์ƒ(*)์˜ ์ ์ˆ˜๋งŒ 2๋ฐฐ๊ฐ€ ๋œ๋‹ค. (์˜ˆ์ œ 4๋ฒˆ ์ฐธ๊ณ )
  • ์Šคํƒ€์ƒ(*)์˜ ํšจ๊ณผ๋Š” ๋‹ค๋ฅธ ์Šคํƒ€์ƒ(*)์˜ ํšจ๊ณผ์™€ ์ค‘์ฒฉ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ค‘์ฒฉ๋œ ์Šคํƒ€์ƒ(*) ์ ์ˆ˜๋Š” 4๋ฐฐ๊ฐ€ ๋œ๋‹ค. (์˜ˆ์ œ 4๋ฒˆ ์ฐธ๊ณ )
  • ์Šคํƒ€์ƒ(*)์˜ ํšจ๊ณผ๋Š” ์•„์ฐจ์ƒ(#)์˜ ํšจ๊ณผ์™€ ์ค‘์ฒฉ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ค‘์ฒฉ๋œ ์•„์ฐจ์ƒ(#)์˜ ์ ์ˆ˜๋Š” -2๋ฐฐ๊ฐ€ ๋œ๋‹ค. (์˜ˆ์ œ 5๋ฒˆ ์ฐธ๊ณ )
  • Single(S), Double(D), Triple(T)์€ ์ ์ˆ˜๋งˆ๋‹ค ํ•˜๋‚˜์”ฉ ์กด์žฌํ•œ๋‹ค.
  • ์Šคํƒ€์ƒ(*), ์•„์ฐจ์ƒ(#)์€ ์ ์ˆ˜๋งˆ๋‹ค ๋‘˜ ์ค‘ ํ•˜๋‚˜๋งŒ ์กด์žฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์กด์žฌํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค.

0~10์˜ ์ •์ˆ˜์™€ ๋ฌธ์ž S, D, T, *, #๋กœ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž์—ด์ด ์ž…๋ ฅ๋  ์‹œ ์ด์ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๋ผ.

์ž…๋ ฅ ํ˜•์‹

"์ ์ˆ˜|๋ณด๋„ˆ์Šค|[์˜ต์…˜]"์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด 3์„ธํŠธ.
์˜ˆ)  1S2D*3T

 

  • ์ ์ˆ˜๋Š” 0์—์„œ 10 ์‚ฌ์ด์˜ ์ •์ˆ˜์ด๋‹ค.
  • ๋ณด๋„ˆ์Šค๋Š” S, D, T ์ค‘ ํ•˜๋‚˜์ด๋‹ค.
  • ์˜ต์„ ์€ *์ด๋‚˜ # ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ, ์—†์„ ์ˆ˜๋„ ์žˆ๋‹ค.

์ถœ๋ ฅ ํ˜•์‹

3๋ฒˆ์˜ ๊ธฐํšŒ์—์„œ ์–ป์€ ์ ์ˆ˜ ํ•ฉ๊ณ„์— ํ•ด๋‹นํ•˜๋Š” ์ •์ˆ˜๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.
์˜ˆ) 37

์ž…์ถœ๋ ฅ ์˜ˆ์ œ

๋ฌธ์ œ ํ’€์ด

๋ฌธ์ œ ์„ค๋ช…์€ ๊ฝค๋‚˜ ๊ธธ์ง€๋งŒ, ์ž…์ถœ๋ ฅ ์˜ˆ์ œ๋„ ๋‹ค์–‘ํ•˜๊ฒŒ ์ œ์‹œ๋˜์–ด์žˆ์–ด ์ดํ•ดํ•˜๋Š”๋ฐ ํฌ๊ฒŒ ์–ด๋ ต์ง€๋Š” ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ์—์„œ ์ค‘์š”ํ•œ ํฌ์ธํŠธ๋Š” ์ž…๋ ฅ ํ˜•์‹์— ๋‚˜์™€์žˆ์Šต๋‹ˆ๋‹ค!

๊ฒŒ์ž„์€ ์ด 3์„ธํŠธ๋กœ ์ด๋ฃจ์–ด์ง€๋Š”๋ฐ, ๊ฐ ์„ธํŠธ ๋‹น ํš๋“ํ•  ์ˆ˜ ์žˆ๋Š” ์ ์ˆ˜๋Š” 0~10์ด๋ฉฐ ๋ณด๋„ˆ์Šค๋Š” S, D, T ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

์˜ต์…˜์€ ์Šคํƒ€์ƒ(*), ์•„์ฐจ์ƒ(#) ๋‘๊ฐ€์ง€ ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ถ™์œผ๋ฉฐ ์˜ต์…˜์€ ๋ถ™์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ €์˜ ์ ‘๊ทผ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

1. ๋จผ์ €, ์„ธํŠธ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด์ฃผ์ž.

์„ธํŠธ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๋Š” ์ž‘์—…์ด ๊ฐ€์žฅ ๋จผ์ € ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋˜ ์ด์œ ๋Š”, ํš๋“ํ•  ์ˆ˜ ์žˆ๋Š” ์ ์ˆ˜๊ฐ€ 10๊นŒ์ง€์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•ญ์ƒ ํ•œ์ž๋ฆฌ ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ

๋ฌธ์ž์—ด์„ ์ˆœํšŒํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ณ„์‚ฐํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๊ณ , ์˜ต์…˜ ๋˜ํ•œ ์žˆ์„์ˆ˜๋„ ์—†์„ ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— split()์„ ์ด์šฉํ•ด ์ฃผ์–ด์ง€๋Š” ๋ฌธ์ž์—ด์„ ์„ธํŠธ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค!

 

2. ๋ณด๋„ˆ์Šค, ์˜ต์…˜์ด ๋ถ™๋Š” ์ƒํ™ฉ์— ๋งก๊ฒŒ ์„ธํŠธ๋ณ„๋กœ ์ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋Š” ์กฐ๊ฑด์‹์„ ๋งŒ๋“ค์ž.

๋ˆ„์  ์ ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ ์„ธํŠธ๋ณ„ ์ ์ˆ˜๋ฅผ ๋”ฐ๋กœ ๊ณ„์‚ฐํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ•œ ์ด์œ ๋Š” ๋ฐ”๋กœ ์˜ต์…˜ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค..!

์Šคํƒ€์ƒ(*)์˜ต์…˜์˜ ๊ฒฝ์šฐ ํ•ด๋‹น ์ ์ˆ˜์™€ ๋ฐ”๋กœ ์ด์ „ ์„ธํŠธ์˜ ์ ์ˆ˜ ๋˜ํ•œ 2๋ฐฐ๋ฅผ ํ•ด์ฃผ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ์„ธํŠธ์˜ ์ ์ˆ˜ ๊ณ„์‚ฐ์ด ๋๋‚˜๋”๋ผ๋„

์ดํ›„ ์˜ต์…˜์— ๋”ฐ๋ผ ์ ์ˆ˜๊ฐ€ ๋ฐ”๋€” ์ˆ˜ ์žˆ์–ด์„œ ๋”ฐ๋กœ ๊ณ„์‚ฐํ•ด์ฃผ์–ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

 

3. ์„ธํŠธ๋ณ„๋กœ ๊ณ„์‚ฐํ•œ ์ ์ˆ˜๋ฅผ ๋ชจ๋‘ ๋”ํ•ด์ฃผ์ž.

์„ธํŠธ๋ณ„๋กœ ๊ณ„์‚ฐํ•œ ์ ์ˆ˜๋ฅผ ๋ชจ๋‘ ํ•ฉ์‚ฐํ•ด์„œ return ํ•ด์ฃผ๋ฉด ๋!!์ž…๋‹ˆ๋‹ค.

Swift ํ’€์ด ์ฝ”๋“œ

func solution(_ dartResult:String) -> Int {
    let score = dartResult.split(whereSeparator: { $0.isLetter || $0 == "*" || $0 == "#" })
        .map { Int($0)! }
    let letters = dartResult.split(whereSeparator: { $0.isNumber })
    var result: [Int] = [0, 0, 0]

                                   
    // ๋‹คํŠธ๊ฒฐ๊ณผ ์ˆœํšŒ
    for i in 0..<letters.count {
        if letters[i].contains("S") {
            result[i] = score[i]
        } else if letters[i].contains("D") {
            result[i] = score[i] * score[i]
        } else if letters[i].contains("T") {
            result[i] = score[i] * score[i] * score[i]
        }
        
        if letters[i].contains("#") {
            result[i] = result[i] * -1
        } else if letters[i].contains("*") {
            if i != 0 {
                result[i-1] *= 2
                result[i] *= 2
            } else {
                // ์ธ๋ฑ์Šค 0์ผ ๋•Œ
                result[i] *= 2
            }
        }
    }

    return result.reduce(0, +)
}

 

์ €๋Š” ์œ„์™€ ๊ฐ™์ด ํ’€์—ˆ๋Š”๋ฐ์š”! 

์ผ๋‹จ ์ œ ์ฝ”๋“œ๋ฅผ ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•ด๋ณด์ž๋ฉด, ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ๋ฌธ์ž์—ด์„ split()์„ ์ด์šฉํ•ด ์ชผ๊ฐœ์„œ score ๋ฐฐ์—ด์—๋Š” ์„ธํŠธ๋ณ„ ์ ์ˆ˜(Int๋กœ ๋ณ€ํ™˜)๋ฅผ,

letters ๋ฐฐ์—ด์—๋Š” ์„ธํŠธ๋‹น ํš๋“ํ•œ ๋ณด๋„ˆ์Šค์™€ ์˜ต์…˜(์ฃผ์–ด์ง„๋‹ค๋ฉด) ๋ฌธ์ž๋ฅผ ์ €์žฅํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

 

์‚ฌ์‹ค ์ €๋Š” ์ด ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์ „๊นŒ์ง€ ๋ฌธ์ž์—ด์„ ์ชผ๊ฐœ๋Š” ๋ฉ”์„œ๋“œ๋กœ split(separator: )๋งŒ ์‚ฌ์šฉํ–ˆ์—ˆ๋Š”๋ฐ์š”,

separator ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ํƒ€์ž…์ด Self.Element ์ž…๋‹ˆ๋‹ค.

์ฆ‰, ์ปฌ๋ ‰์…˜์˜ ์š”์†Œ๋ฅผ ์ธ์ž๋กœ ๋ฐ›๊ณ  ํ•ด๋‹น ์ธ์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ์ชผ๊ฐœ์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๋Š” ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค.

Split()

 

๊ทธ๋Ÿฐ๋ฐ, ์ €๋Š” ์–ด๋–ค ์กฐ๊ฑด์„ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ์ชผ๊ฐœ์ฃผ๊ณ  ์‹ถ์€ ์ƒํ™ฉ(์•ŒํŒŒ๋ฒณ์ด๋‚˜ * ํ˜น์€ # ๋ฌธ์ž๊ฐ€ ๋‚˜์˜ค๋ฉด ์ชผ๊ฐœ๊ณ  ์‹ถ์€ ์ƒํ™ฉ)์ด์–ด์„œ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•ด์ฃผ๋ฉด ์ข‹์„์ง€ ์ฐพ์•„๋ณด๋‹ˆ whereSeparator๋ผ๋Š” ํด๋กœ์ €๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ฐ–๋Š” split(whereSeparator: ) ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๋”๋ผ๊ตฌ์š”! 

๊ทธ๋ž˜์„œ ์ด ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ์›ํ•˜๋Š” ์กฐ๊ฑด์— ๋งž๊ฒŒ ๋ฌธ์ž์—ด์„ ์ชผ๊ฐค ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ ๊ด€๋ จ ๋‹ค๋ฅธ ๋ฌธ์ œ๋“ค์—๋„ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„์„œ ์ž˜ ์ •๋ฆฌํ•ด๋‘๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค!!

 

๊ณต์‹๋ฌธ์„œ์˜ ์ •์˜๋ฅผ ์ง์—ญํ•ด๋ณด์ž๋ฉด,(๋•กํ ํŒŒํŒŒ๊ณ )

์ง€์ •๋œ ์ˆ ์–ด๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์š”์†Œ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ์ปฌ๋ ‰์…˜์˜ ๊ฐ€์žฅ ๊ธด ์—ฐ์†์„ ์ˆœ์„œ๋Œ€๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ •๋„๋กœ ํ•ด์„ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์€๋ฐ์š”!

์กฐ๊ฑด์— ๊ฑธ๋ฆฌ๊ธฐ ์ „๊นŒ์ง€์˜ ๋ฌธ์ž์—ด์„ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฐ์—ด์— ๋‹ด์•„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋ผ๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. 

 

 

ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋ณด๋ฉด,

์š”์†Œ๋ฅผ ์ธ์ž๋กœ ์‚ฌ์šฉํ•˜๊ณ  ํ•ด๋‹น ์š”์†Œ์—์„œ ์ปฌ๋ ‰์…˜์„ ๋ถ„ํ• ํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” Bool ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํด๋กœ์ €์ž…๋‹ˆ๋‹ค.

๋ผ๋Š” ์„ค๋ช…์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ ์ ˆํ•œ ์กฐ๊ฑด์‹์„ ๊ฐ€์ง€๋Š” ํด๋กœ์ €๋ฅผ ๋„˜๊ฒจ ์›ํ•˜๋Š” ์กฐ๊ฑด์— ๋งž๊ฒŒ ๋ฌธ์ž์—ด์„ ์œ ์šฉํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋„ค์š”!!

 

๋‹ค์‹œ ์ฝ”๋“œ ์„ค๋ช…์œผ๋กœ ๋Œ์•„์™€์„œ, 

์ฃผ์–ด์ง„ ์ž…๋ ฅ์„ ์ ์ˆ˜(score), ๋ณด๋„ˆ์Šค ๋ฐ ์˜ต์…˜(letters) ๋ฐฐ์—ด ๋‘๊ฐ€์ง€๋กœ ๋‚˜๋ˆ„๊ณ ,

๊ฐ ์„ธํŠธ๋ณ„ ์ ์ˆ˜๋ฅผ ์ €์žฅํ•  result ๋ฐฐ์—ด๋„ ์„ ์–ธ๊ณผ ๋™์‹œ์— [0, 0, 0]์ดˆ๊ธฐํ™”(3์„ธํŠธ ๊ณ ์ •์ด๊ธฐ ๋•Œ๋ฌธ) ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค!

๋‹คํŠธ๊ฒŒ์ž„์€ 3์„ธํŠธ๋กœ ์ด๋ฃจ์–ด์ง„ ๊ฒŒ์ž„์ด๋ผ๊ณ  ํ–ˆ์œผ๋‹ˆ ์–ด๋–ค ์ž…๋ ฅ์ด ๋“ค์–ด์™€๋„ score, letters, result ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋Š” ๋ชจ๋‘ 3์ž…๋‹ˆ๋‹ค!

๋ฐฐ์—ด์˜ ํฌ๊ธฐ๊ฐ€ ๋ชจ๋‘ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผํ•ด ์„ธํŠธ๋ณ„ ์ ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ธฐ๊ฐ€ ์‰ฝ๊ธฐ ๋•Œ๋ฌธ์—

์ €๋Š” for๋ฌธ ์•ˆ์—์„œ ์ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ์กฐ๊ฑด์‹์„ ๋งŒ๋“ค๋•Œ, ๊ฐ ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋กœ ์š”์†Œ์— ์ ‘๊ทผํ•ด์„œ ๊ฐ ์„ธํŠธ๋ณ„ ์ ์ˆ˜๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

 

 

์‚ฌ์‹ค ์ƒˆ๋กœ ์•Œ๊ฒŒ๋œ split() ํ•จ์ˆ˜๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ๋‚˜๋งˆ ์ •๋ฆฌํ•ด๋‘๊ณ  ์‹ถ์–ด์„œ ๋‹คํŠธ๊ฒŒ์ž„ ๋ฌธ์ œ ํ’€์ด๊ณผ์ •์„ ์ •๋ฆฌํ•ด๋ณด์•˜๋Š”๋ฐ์š”,

Level1์ด์ง€๋งŒ(์™œ..?) ์‰ฝ์ง€ ์•Š์€ ๋ฌธ์ œ์˜€๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค..๐Ÿฅฒ

๋ฌธ์ œ ํ’€์ด์— ์กฐ๊ธˆ์ด๋‚˜๋งˆ ๋„์›€์ด ๋˜์…จ๊ธธ ๋ฐ”๋ผ๋ฉฐ,, ๊ธด ๊ธ€ ์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค๐Ÿ˜Š๐Ÿ˜Š

 


[์ฐธ๊ณ  ์ž๋ฃŒ]

 

Apple Developer Documentation

 

developer.apple.com

 

Apple Developer Documentation

 

developer.apple.com