MUKER_DEV with iOS

[swift] ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - 크레인 μΈν˜•λ½‘κΈ° κ²Œμž„ λ³Έλ¬Έ

πŸ€– μ•Œκ³ λ¦¬μ¦˜/programmers

[swift] ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - 크레인 μΈν˜•λ½‘κΈ° κ²Œμž„

MUKER 2023. 1. 20. 12:33
 

ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€

μ½”λ“œ μ€‘μ‹¬μ˜ 개발자 μ±„μš©. μŠ€νƒ 기반의 ν¬μ§€μ…˜ 맀칭. ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€μ˜ 개발자 λ§žμΆ€ν˜• ν”„λ‘œν•„μ„ λ“±λ‘ν•˜κ³ , λ‚˜μ™€ 기술 ꢁ합이 잘 λ§žλŠ” 기업듀을 맀칭 λ°›μœΌμ„Έμš”.

programmers.co.kr


문제 ν‘ΈλŠ” 데 μžˆμ–΄ 도움이 λ˜λ„λ‘ λ‚˜μ˜ 풀이와 κ°œμ„ λœ 풀이λ₯Ό μ˜¬λ¦½λ‹ˆλ‹€.
λ˜ν•œ 풀이 ν›„ λ‹€λ₯Έ μ‚¬λžŒμ˜ 풀이λ₯Ό 보고 μ°Έκ³ ν• λ§Œν•œ 풀이도 μ˜¬λ¦½λ‹ˆλ‹€.

- λ¬Έμ œμ— 따라 λ‚˜μ˜ ν’€μ΄λ§Œ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.
- ν•΄λ‹Ή 풀이듀은 풀이 쀑 ν•˜λ‚˜μΌ 뿐 μ΅œμ„ μ˜ ν’€μ΄λŠ” 아닐 수 μžˆμŠ΅λ‹ˆλ‹€.

 

λ‚˜μ˜ 풀이

import Foundation

func solution(_ board:[[Int]], _ moves:[Int]) -> Int {
    var array = board
    var basket = [Int]()
    var count = 0
    for i in moves {
        for j in (0..<array[0].count) {
            if array[j][i-1] != 0 {
                basket.append(array[j][i-1])
                array[j][i-1] = 0
                break
            }
        }
        if basket.count >= 2 && basket[basket.endIndex-1] == basket[basket.endIndex-2] {
            basket.removeLast()
            basket.removeLast()
            count += 2
        }
    }
    return count
}

 


κ°œμ„ λœ 풀이

import Foundation

func solution(_ board:[[Int]], _ moves:[Int]) -> Int {
    var array = board
    var basket = [Int]()
    var count = 0
    for i in moves {
        for j in (0..<array[0].count) {
            if array[j][i-1] != 0 {
                
                let doll = array[j][i-1]
                array[j][i-1] = 0
                
                if basket.last == doll { basket.removeLast(); count += 2 }
                else { basket.append(doll) }
                
                break
            }
        }
    }
    return count
}

 

첫 번째 ν’€μ΄λŠ”

일단 배열에 μΈν˜•μ„ λ„£μ–΄μ€€ λ‹€μŒ

λ§ˆμ§€λ§‰ μΈν˜•κ³Ό 그전에 μžˆλŠ” μΈν˜•μ΄ κ°™μœΌλ©΄

두 μΈν˜•μ„ μ—†μ–΄μ§€κ²Œ ν–ˆμ—ˆλŠ”λ°μš”.

 

차라리

λ¨Όμ € 같은지 비ꡐλ₯Ό ν•˜κ³ 

λ‹€λ₯΄λ©΄ μΈν˜•μ„ λ„£μ–΄μ£Όκ³ 

κ°™μœΌλ©΄ μ›λž˜ 배열에 μžˆλŠ” λ§ˆμ§€λ§‰ μΈν˜•λ§Œ μ§€μ›Œμ£ΌλŠ” μ‹μœΌλ‘œ

λΆˆν•„μš”ν•˜κ²Œ λ„£μ—ˆλ‹€ λ‹€μ‹œ λΉΌλŠ” 일을 μ€„μ˜€μŠ΅λ‹ˆλ‹€.

 

ν•˜μ§€λ§Œ μ™œ 첫 번째 풀이 μ½”λ“œκ°€ μ‹œκ°„μ€ 더 λΉ λ₯ΌκΉŒμš”..? πŸ₯²

 

쒌: 첫번째 풀이 / 우: λ‘λ²ˆμ§Έ 풀이