๐Ÿง‘๐Ÿป‍๐Ÿ’ป Coding Test/โŒจ๏ธ Programmers

[ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ] [1์ฐจ] ๋‹คํŠธ๊ฒŒ์ž„

EarthSea 2024. 3. 18. 13:59

 

 

๐Ÿ„ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ ํ’€์ด

โœ๐Ÿป Github

๋ฌธ์ œ ํ’€์ด github ๋งํฌ

 

 

๋ฌธ์ œ ์„ค๋ช…

์นด์นด์˜คํ†ก์— ๋œฌ ๋„ค ๋ฒˆ์งธ ๋ณ„! ์‹ฌ์‹ฌํ•  ๋•? ์นด์นด์˜คํ†ก ๊ฒŒ์ž„๋ณ„~

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

๊ฐ“ ์ž…์‚ฌํ•œ ๋ฌด์ง€๋Š” ์ฝ”๋”ฉ ์‹ค๋ ฅ์„ ์ธ์ •๋ฐ›์•„ ๊ฒŒ์ž„์˜ ํ•ต์‹ฌ ๋ถ€๋ถ„์ธ ์ ์ˆ˜ ๊ณ„์‚ฐ ๋กœ์ง์„ ๋งก๊ฒŒ ๋˜์—ˆ๋‹ค. ๋‹คํŠธ ๊ฒŒ์ž„์˜ ์ ์ˆ˜ ๊ณ„์‚ฐ ๋กœ์ง์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

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

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

 

์ž…๋ ฅ ํ˜•์‹

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

์˜ˆ) 1S2D*3T

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

์ถœ๋ ฅ ํ˜•์‹

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

์˜ˆ) 37

 

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

์˜ˆ์ œ dartResult answer ์„ค๋ช…
1 1S2D*3T 37 11 * 2 + 22 * 2 + 33
2 1D2S#10S 9 12 + 21 * (-1) + 101
3 1D2S0T 3 12 + 21 + 03
4 1S2T3S 23 11 * 2 * 2 + 23 * 2 + 31
5 1D#2S*3S 5 12 * (-1) * 2 + 21 * 2 + 31
6 1T2D3D# -4 13 + 22 + 32 * (-1)
7 1D2S3T* 59 12 + 21 * 2 + 33 * 2

 

 

๋ฌธ์ œ ํ’€์ด

๋‚˜์˜ ํ’€์ด

func solution(_ dartResult:String) -> Int {
    
    // ์ „์— ๋“ค์–ด์˜จ ์ˆซ์ž ์ €์žฅ
    var beforeNum = 0
    // ๋ฐฉ๊ธˆ ๋“ค์–ด์˜จ ์ˆซ์ž ์ €์žฅ
    var nowNum = 0
    // ์ด ํ•ฉ
    var totalNum = 0
    // ์ „์— ๋“ค์–ด์˜จ ์ˆซ์ž๋ฅผ ์ดํ•ฉ์— ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋“ค์–ด์˜จ ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ํ—ค์•„๋ฆผ
    var count = 0
    var dartResult = Array(dartResult)
    
    while !dartResult.isEmpty {
        
        if let num = Int(String(dartResult.prefix(2))){
            if count == 2 {
                totalNum += beforeNum
            }
            beforeNum = nowNum
            nowNum = num
            count += 1
            dartResult.removeFirst(2)
            continue
        }
        if let num = Int(String(dartResult.first!)) {
            if count == 2 {
                totalNum += beforeNum
            }
            beforeNum = nowNum
            nowNum = num
            count += 1
            dartResult.removeFirst()
            continue
        }
        
        switch dartResult.first! {
        case "D":
            nowNum = nowNum * nowNum
        case "T":
            nowNum = nowNum * nowNum * nowNum
        case "*":
            nowNum = 2 * nowNum
            beforeNum = 2 * beforeNum
        case "#":
            nowNum = -nowNum
        default: //"S"
            break
        }
        dartResult.removeFirst()
    }
    totalNum += beforeNum
    totalNum += nowNum
    
    return totalNum
}

 

์šฐ์„  ์ด ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฌธ์ž์—ด์„ ์ˆซ์ž์™€ ๋ฌธ์ž๋กœ ๋‚˜๋ˆ„๊ณ , ๋ฌธ์ž์— ๋”ฐ๋ฅธ ์กฐ๊ฑด์„ ๋„ฃ์–ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

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

 

→ ์ด์ „์˜ ๊ฐ’

→ ํ˜„์žฌ์˜ ๊ฐ’

→ ๋ช‡ ๋ฒˆ์งธ ์ˆซ์ž์ธ์ง€ ์นด์šดํŠธ

→ ์ „์ฒด ํ•ฉ

 

๊ทธ๋ž˜์„œ ์ด๋ ‡๊ฒŒ ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด๋‘๊ณ , if let ๋ฌธ์œผ๋กœ ์ˆซ์ž์ธ์ง€๋ฅผ ํŒŒ์•…ํ•œ ํ›„ ์ˆซ์ž๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด switch ๋ฌธ์„ ๋Œ๋„๋ก ๊ตฌํ˜„ํ•˜์˜€๋‹ค. count๊ฐ€ 2๊ฐ€ ๋˜๋ฉด 3๋ฒˆ์งธ์˜ ๊ฐ’์ด ์ €์žฅ๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ ์ฒซ๋ฒˆ์งธ๊ฐ’์ด total๋กœ ์ €์žฅ์ด ๋˜๊ณ , ๋ฐฐ์—ด์ด ๋๋‚˜๋ฉด ๋‹ค ๋”ํ•˜๊ธฐ๋กœ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ์—ฌ๊ธฐ์„œ ๋‚˜์˜ ๋ฌธ์ œ์ ์€ 10์ด ๋“ค์–ด์™”์„ ๋•Œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ๋ฐฉ๋ฒ•์€ ๋จผ์ € ์•ž์˜ 2 ๊ธ€์ž๋ฅผ ๊บผ๋‚ด์–ด if let ๋ฌธ์— ๋Œ€์ž…ํ•ด๋ณด๊ณ  ๋Œ€์ž…์ด ๋œ๋‹ค๋ฉด ๊ทธ ์ˆซ์ž๋Š” 10์ด๋ฏ€๋กœ ๋‹ค์Œ์œผ๋กœ ๋„˜์–ด๊ฐ€๋„๋ก ๊ตฌํ˜„์„ ํ•˜์˜€๋‹ค.

ํ’€์ด๋ฅผ ์ ๋‹ค๋ณด๋‹ˆ 3๊ฐ€์ง€์˜ ๋ฐฐ์—ด์— ๊ฐ’์„ ์ €์žฅ์„ ํ•ด์„œ ๋งˆ์ง€๋ง‰์— ๋ฐฐ์—ด์— ์žˆ๋Š” ์ˆ˜๋ฅผ ๋”ํ•˜๋ฉด ์ข‹๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

 

func solution(_ dartResult:String) -> Int {
    
    // ๋ฌธ์ž์—ด ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜
    var dartResult = Array(dartResult)
    // ๋ฐฉ๊ธˆ ๋“ค์–ด์˜จ ์ˆซ์ž ์ €์žฅ
    var nowNum = 0
    // ์ˆซ์ž ์ €์žฅ
    var num = [Int]()
    
    while !dartResult.isEmpty {
        if dartResult.first!.isNumber {
            num.append(nowNum)
            if let num = Int(String(dartResult.prefix(2))){
                nowNum = num
                dartResult.removeFirst(2)
                continue
            }
            if let num = Int(String(dartResult.first!)) {
                nowNum = num
                dartResult.removeFirst()
                continue
            }
        }
        
        switch dartResult.first! {
        case "D":
            nowNum = nowNum * nowNum
        case "T":
            nowNum = nowNum * nowNum * nowNum
        case "*":
            var n = num.count
            num[n-1] *= 2
            nowNum = 2 * nowNum
        case "#":
            nowNum = -nowNum
        default: //"S"
            break
        }
        dartResult.removeFirst()
    }
    num.append(nowNum)
    
    return num.reduce(0, +)
}

 

์–ด์ฐจํ”ผ ์ˆซ์ž๊ฐ€ ๋”ฑ 3๊ฐœ๊ฐ€ ๋“ค์–ด์˜ค๋‹ˆ ๋งจ ์•ž์—๋Š” ํ•ญ์ƒ 0์„ ๋ฐฐ์น˜ํ•˜๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์ฒซ๋ฒˆ์งธ, ๋‘๋ฒˆ์งธ, ์„ธ๋ฒˆ์งธ๋ฅผ ๋„ฃ๋„๋กํ•˜์—ฌ 4๊ฐœ์˜ ๋ฐฐ์—ด์„ ๋งŒ๋“ค์—ˆ๋‹ค. ์ฒซ๋ฒˆ์งธ์—๋Š” ๋ฌด์กฐ๊ฑด 0์„ ๋ฐฐ์น˜ํ•œ ์ด์œ ๋Š” ์Šคํƒ€์ƒ์ด ๋“ค์–ด์™“์„ ๊ฒฝ์šฐ์— ์ž์‹ ๊ณผ ๊ทธ ์•ž์˜ ๋ฐฐ์—ด์ด 2๋ฐฐ๊ฐ€ ๋˜๋Š”๋ฐ ์ฒซ๋ฒˆ์งธ ๋ฐฐ์—ด์„ ์ œ์ผ ์ฒ˜์Œ์œผ๋กœ ๋ฐฐ์น˜ํ–ˆ์„ ๋•Œ ์—๋Ÿฌ๊ฐ€ ๋‚˜ ๋‹ค๋ฅธ ์กฐ๊ฑด์ด ํ•„์š”ํ•˜๋‹ค. ์ด๋ฅผ ์ƒ๋žตํ•˜๊ธฐ ์œ„ํ•ด ์ฒซ๋ฒˆ์งธ์— 0์„ ๋ฐฐ์น˜ํ•˜์˜€๊ณ , ์นด์šดํ„ฐ๋ฅผ ๋”ฐ๋กœ ์„ธ์ง€ ์•Š์•„์„œ ์ฝ”๋“œ๊ฐ€ ๋” ๊ฐ„๊ฒฐํ•ด์กŒ๋‹ค. isNumber๋ผ๋Š” ๋ณ€์ˆ˜ ์กฐ๊ฑด๋ฌธ๋„ ์ถ”๊ฐ€ํ•˜์—ฌ ํ•„์š”์—†๋Š” ์กฐ๊ฑด ๋น„๊ต ๊ณผ์ •์„ ์ƒ๋žตํ–ˆ๋‹ค.

 

์œ„์˜ ์ฝ”๋“œ์™€ ์‹œ๊ฐ„์„ ๋น„๊ตํ•ด๋ณด์ž.

๋”๋ณด๊ธฐ

1๋ฒˆ ์ฝ”๋“œ

ํ…Œ์ŠคํŠธ 1 ใ€‰	ํ†ต๊ณผ (0.08ms, 16.4MB)
ํ…Œ์ŠคํŠธ 2 ใ€‰	ํ†ต๊ณผ (0.09ms, 16.2MB)
ํ…Œ์ŠคํŠธ 3 ใ€‰	ํ†ต๊ณผ (0.10ms, 16.5MB)
ํ…Œ์ŠคํŠธ 4 ใ€‰	ํ†ต๊ณผ (0.08ms, 16.2MB)
ํ…Œ์ŠคํŠธ 5 ใ€‰	ํ†ต๊ณผ (0.12ms, 16.5MB)
ํ…Œ์ŠคํŠธ 6 ใ€‰	ํ†ต๊ณผ (0.09ms, 16.3MB)
ํ…Œ์ŠคํŠธ 7 ใ€‰	ํ†ต๊ณผ (0.09ms, 16.3MB)
ํ…Œ์ŠคํŠธ 8 ใ€‰	ํ†ต๊ณผ (0.09ms, 16.3MB)
ํ…Œ์ŠคํŠธ 9 ใ€‰	ํ†ต๊ณผ (0.08ms, 16.5MB)
ํ…Œ์ŠคํŠธ 10 ใ€‰	ํ†ต๊ณผ (0.14ms, 16.4MB)
ํ…Œ์ŠคํŠธ 11 ใ€‰	ํ†ต๊ณผ (0.09ms, 16.3MB)
ํ…Œ์ŠคํŠธ 12 ใ€‰	ํ†ต๊ณผ (0.08ms, 16.4MB)
ํ…Œ์ŠคํŠธ 13 ใ€‰	ํ†ต๊ณผ (0.09ms, 16.3MB)
ํ…Œ์ŠคํŠธ 14 ใ€‰	ํ†ต๊ณผ (0.09ms, 16.2MB)
ํ…Œ์ŠคํŠธ 15 ใ€‰	ํ†ต๊ณผ (0.14ms, 16.2MB)
ํ…Œ์ŠคํŠธ 16 ใ€‰	ํ†ต๊ณผ (0.12ms, 16.5MB)
ํ…Œ์ŠคํŠธ 17 ใ€‰	ํ†ต๊ณผ (0.09ms, 16.3MB)
ํ…Œ์ŠคํŠธ 18 ใ€‰	ํ†ต๊ณผ (0.14ms, 16.6MB)
ํ…Œ์ŠคํŠธ 19 ใ€‰	ํ†ต๊ณผ (0.13ms, 16.5MB)
ํ…Œ์ŠคํŠธ 20 ใ€‰	ํ†ต๊ณผ (0.15ms, 16.3MB)
ํ…Œ์ŠคํŠธ 21 ใ€‰	ํ†ต๊ณผ (0.15ms, 16.6MB)
ํ…Œ์ŠคํŠธ 22 ใ€‰	ํ†ต๊ณผ (0.11ms, 16.4MB)
ํ…Œ์ŠคํŠธ 23 ใ€‰	ํ†ต๊ณผ (0.13ms, 16.3MB)
ํ…Œ์ŠคํŠธ 24 ใ€‰	ํ†ต๊ณผ (0.09ms, 16.2MB)
ํ…Œ์ŠคํŠธ 25 ใ€‰	ํ†ต๊ณผ (0.14ms, 16.2MB)
ํ…Œ์ŠคํŠธ 26 ใ€‰	ํ†ต๊ณผ (0.14ms, 16.4MB)
ํ…Œ์ŠคํŠธ 27 ใ€‰	ํ†ต๊ณผ (0.11ms, 16.6MB)
ํ…Œ์ŠคํŠธ 28 ใ€‰	ํ†ต๊ณผ (0.14ms, 16.4MB)
ํ…Œ์ŠคํŠธ 29 ใ€‰	ํ†ต๊ณผ (0.15ms, 16.1MB)
ํ…Œ์ŠคํŠธ 30 ใ€‰	ํ†ต๊ณผ (0.09ms, 16.4MB)
ํ…Œ์ŠคํŠธ 31 ใ€‰	ํ†ต๊ณผ (0.10ms, 16.4MB)
ํ…Œ์ŠคํŠธ 32 ใ€‰	ํ†ต๊ณผ (0.10ms, 16.6MB)

2๋ฒˆ ์ฝ”๋“œ

ํ…Œ์ŠคํŠธ 1 ใ€‰	ํ†ต๊ณผ (0.13ms, 16.8MB)
ํ…Œ์ŠคํŠธ 2 ใ€‰	ํ†ต๊ณผ (0.13ms, 16.5MB)
ํ…Œ์ŠคํŠธ 3 ใ€‰	ํ†ต๊ณผ (0.13ms, 16.5MB)
ํ…Œ์ŠคํŠธ 4 ใ€‰	ํ†ต๊ณผ (0.14ms, 16.7MB)
ํ…Œ์ŠคํŠธ 5 ใ€‰	ํ†ต๊ณผ (0.11ms, 16.6MB)
ํ…Œ์ŠคํŠธ 6 ใ€‰	ํ†ต๊ณผ (0.13ms, 16.6MB)
ํ…Œ์ŠคํŠธ 7 ใ€‰	ํ†ต๊ณผ (0.12ms, 16.6MB)
ํ…Œ์ŠคํŠธ 8 ใ€‰	ํ†ต๊ณผ (0.12ms, 16.6MB)
ํ…Œ์ŠคํŠธ 9 ใ€‰	ํ†ต๊ณผ (0.14ms, 16.8MB)
ํ…Œ์ŠคํŠธ 10 ใ€‰	ํ†ต๊ณผ (0.12ms, 16.7MB)
ํ…Œ์ŠคํŠธ 11 ใ€‰	ํ†ต๊ณผ (0.14ms, 16.8MB)
ํ…Œ์ŠคํŠธ 12 ใ€‰	ํ†ต๊ณผ (0.13ms, 16.6MB)
ํ…Œ์ŠคํŠธ 13 ใ€‰	ํ†ต๊ณผ (0.11ms, 16.5MB)
ํ…Œ์ŠคํŠธ 14 ใ€‰	ํ†ต๊ณผ (0.14ms, 16.8MB)
ํ…Œ์ŠคํŠธ 15 ใ€‰	ํ†ต๊ณผ (0.13ms, 16.3MB)
ํ…Œ์ŠคํŠธ 16 ใ€‰	ํ†ต๊ณผ (0.13ms, 16.5MB)
ํ…Œ์ŠคํŠธ 17 ใ€‰	ํ†ต๊ณผ (0.17ms, 16.6MB)
ํ…Œ์ŠคํŠธ 18 ใ€‰	ํ†ต๊ณผ (0.14ms, 16.6MB)
ํ…Œ์ŠคํŠธ 19 ใ€‰	ํ†ต๊ณผ (0.12ms, 16.6MB)
ํ…Œ์ŠคํŠธ 20 ใ€‰	ํ†ต๊ณผ (0.13ms, 16.6MB)
ํ…Œ์ŠคํŠธ 21 ใ€‰	ํ†ต๊ณผ (0.13ms, 16.5MB)
ํ…Œ์ŠคํŠธ 22 ใ€‰	ํ†ต๊ณผ (0.23ms, 16.8MB)
ํ…Œ์ŠคํŠธ 23 ใ€‰	ํ†ต๊ณผ (0.18ms, 16.7MB)
ํ…Œ์ŠคํŠธ 24 ใ€‰	ํ†ต๊ณผ (0.16ms, 16.4MB)
ํ…Œ์ŠคํŠธ 25 ใ€‰	ํ†ต๊ณผ (0.13ms, 16.6MB)
ํ…Œ์ŠคํŠธ 26 ใ€‰	ํ†ต๊ณผ (0.20ms, 16.5MB)
ํ…Œ์ŠคํŠธ 27 ใ€‰	ํ†ต๊ณผ (0.22ms, 16.5MB)
ํ…Œ์ŠคํŠธ 28 ใ€‰	ํ†ต๊ณผ (0.14ms, 16.5MB)
ํ…Œ์ŠคํŠธ 29 ใ€‰	ํ†ต๊ณผ (0.18ms, 16.6MB)
ํ…Œ์ŠคํŠธ 30 ใ€‰	ํ†ต๊ณผ (0.20ms, 16.8MB)
ํ…Œ์ŠคํŠธ 31 ใ€‰	ํ†ต๊ณผ (0.14ms, 16.8MB)
ํ…Œ์ŠคํŠธ 32 ใ€‰	ํ†ต๊ณผ (0.14ms, 16.8MB)

 

์ฝ”๋“œ๋Š” ๊น”๋”ํ•ด์กŒ์ง€๋งŒ ์˜คํžˆ๋ ค 1๋ฒˆ์ฝ”๋“œ์˜ ์‹คํ–‰์‹œ๊ฐ„์ด ๋” ์งง์•˜๋‹ค.

์ด์œ ๋Š” ๋ฐฐ์—ด์„ ๋งŒ๋“ฌ์œผ๋กœ์จ ์ดํ•ฉ์„ ๋ณ€์ˆ˜์— ๋”ํ•˜๋ฉด์„œ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ 4๊ฐœ์˜ ๋ฐฐ์—ด์„ ํ›‘์œผ๋ฉด์„œ ๋”ํ•ด์•ผํ•˜๋Š” reduce ์ฝ”๋“œ๊ฐ€ ์ถ”๊ฐ€ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ธ ๊ฒƒ ๊ฐ™๋‹ค.