ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๐Ÿ–ฅ ๋ฌธ์ œ

๊ฒŒ์ž„ ํ™”๋ฉด์˜ ๊ฒฉ์ž์˜ ์ƒํƒœ๊ฐ€ ๋‹ด๊ธด 2์ฐจ์› ๋ฐฐ์—ด board์™€ ์ธํ˜•์„ ์ง‘๊ธฐ ์œ„ํ•ด ํฌ๋ ˆ์ธ์„ ์ž‘๋™์‹œํ‚จ ์œ„์น˜๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด moves๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ํฌ๋ ˆ์ธ์„ ๋ชจ๋‘ ์ž‘๋™์‹œํ‚จ ํ›„ ํ„ฐํŠธ๋ ค์ ธ ์‚ฌ๋ผ์ง„ ์ธํ˜•์˜ ๊ฐœ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

๐Ÿค” ํ’€์ด ๋ฐฉ๋ฒ•

  1. ๋ณ€์ˆ˜
    • copiedBoard : board์˜ ๋‚ด์šฉ์„ ๋ณต์‚ฌํ•ด์˜จ๋‹ค.
    • basket : ์ธํ˜•์„ ๋‹ด์„ ๋ฐ”๊ตฌ๋‹ˆ
    • doll : ์ง‘์–ด ์˜ฌ๋ฆฐ ์ธํ˜•
    • result : ํ„ฐํŠธ๋ ค์ ธ ์‚ฌ๋ผ์ง„ ์ธํ˜•์˜ ๊ฐœ์ˆ˜
  2. 2์ค‘ for๋ฌธ
    • ํฌ๋ ˆ์ธ์„ ์ž‘๋™์‹œํ‚จ ์œ„์น˜๋ฅผ ํ•˜๋‚˜์”ฉ ํƒ์ƒ‰ํ•œ๋‹ค.
    • ๋™์‹œ์— ํ™”๋ฉด์˜ ๊ฒฉ์ž ์ƒํƒœ๊ฐ€ ์ƒํƒœ๊ฐ€ ๋‹ด๊ธด 2์ฐจ์› ๋ฐฐ์—ด board๋ฅผ ํƒ์ƒ‰ํ•œ๋‹ค.
    • for move in moves { for i in 0..<board.count { } }
  3. doll = copiedBoard[i][move - 1]
    • ์ธํ˜•์„ ์žก์€ ๊ฒฐ๊ณผ๋ฅผ doll์— ์ €์žฅํ•œ๋‹ค.
  4. if doll != 0 : ์ธํ˜•์„ ์žก์•˜์„ ๊ฒฝ์šฐ
    • copiedBoard[i][move - 1] = 0
    • ์ธํ˜•์„ ์žก์€ ์œ„์น˜์— 0์„ ๋„ฃ์–ด์ค€๋‹ค.
  5. basket.append(doll) : ๋ฐ”๊ตฌ๋‹ˆ์— ์ธํ˜•์„ ๋„ฃ๋Š”๋‹ค.
    • ๋ฐ”๊ตฌ๋‹ˆ๊ฐ€ ๋น„์–ด์žˆ์„ ๊ฒฝ์šฐ
    • ๋ฐ”๊ตฌ๋‹ˆ์— ๋“ค์–ด์žˆ๋Š” ๋งˆ์ง€๋ง‰ ์ธํ˜•์ด ์žก์€ ์ธํ˜•๊ณผ ๋‹ค๋ฅผ ๊ฒฝ์šฐ
  6. basket.removeLast() : ๋ฐ”๊ตฌ๋‹ˆ์— ๋“ค์–ด์žˆ๋Š” ๋งˆ์ง€๋ง‰ ์ธํ˜•์„ ํ„ฐํŠธ๋ฆฐ๋‹ค.
    • ๋ฐ”๊ตฌ๋‹ˆ์— ๋“ค์–ด์žˆ๋Š” ๋งˆ์ง€๋ง‰ ์ธํ˜•๊ณผ ์žก์€ ์ธํ˜•์ด ๊ฐ™์„ ๊ฒฝ์šฐ
    • ์žก์€ ์ธํ˜•์€ ํ„ฐํŠธ๋ ค์ ธ ๋ฐ”๊ตฌ๋‹ˆ์— ๋“ค์–ด๊ฐ€์ง€ ์•Š๋Š”๋‹ค.
    • result += 2๋กœ ํ„ฐํŠธ๋ ค์ ธ ์—†์–ด์ง„ ์ธํ˜•์˜ ์ˆ˜๋ฅผ ์˜ฌ๋ ค์ค€๋‹ค.

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Swift Code

import Foundation

func solution(_ board:[[Int]], _ moves:[Int]) -> Int {
    var copiedBoard = board
    var basket: [Int] = []
    var doll: Int = 0
    var result: Int = 0

    for move in moves {
        for i in 0..<board.count {
            doll = copiedBoard[i][move - 1]
            if doll != 0 {
                copiedBoard[i][move - 1] = 0
                if basket.count > 0 && basket.last == doll {
                    basket.removeLast()
                    result += 2
                    break
                } else {
                    basket.append(doll)
                    break
                }
            }

        }
    }
    return result
}

 

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ ๊ฒŒ์ž„

[[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4

programmers.co.kr

 

๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2024/09   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
๊ธ€ ๋ณด๊ด€ํ•จ