MUKER_DEV with iOS

[swift] ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - κ°œμΈμ •λ³΄ μˆ˜μ§‘ μœ νš¨κΈ°κ°„ λ³Έλ¬Έ

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

[swift] ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - κ°œμΈμ •λ³΄ μˆ˜μ§‘ μœ νš¨κΈ°κ°„

MUKER 2023. 2. 14. 15:37
 

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

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

programmers.co.kr

 

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

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

 


 

문제 μ„€λͺ…

 

 


 

λ‚˜μ˜ 풀이

func solution(_ today:String, _ terms:[String], _ privacies:[String]) -> [Int] {
    // μ˜€λŠ˜λ‚ μ§œ(일수): Int
    let todayArr = today.split(separator: ".").map { Int($0)! }
    let today = (todayArr[0] * 12 * 28) + (todayArr[1] * 28) + todayArr[2]
    // μ•½κ΄€μ’…λ₯˜: [μ•½κ΄€ μ’…λ₯˜, μœ νš¨κΈ°κ°„]
    let termType = terms.map { $0.split(separator: " ") }
    // κ°œμΈμ •λ³΄ μˆ˜μ§‘μΌμž: [λ…„,μ›”,일]
    let collectionDate = privacies.map { $0.split(separator: " ")[0].split(separator: ".").map { Int($0)! } }
    // μ„ νƒν•œ μ•½κ΄€: String
    let term = privacies.map { $0.split(separator: " ")[1] }
    // νŒŒκΈ°ν•΄μ•Όν•˜λŠ” κ°œμΈμ •λ³΄: Int
    var result = [Int]()
    
    for index in 0..<privacies.count {
        // μˆ˜μ§‘μΌμž(일수)
        var collectionDay = (collectionDate[index][0] * 12 * 28) + (collectionDate[index][1] * 28) + collectionDate[index][2]
        // μˆ˜μ§‘μΌμž += μœ νš¨κΈ°κ°„
        for i in termType {
            if i[0] == term[index] {
                collectionDay += (Int(i[1])! * 28)
            }
        }
        // μ˜€λŠ˜λ‚ μ§œ >= μˆ˜μ§‘μœ νš¨κΈ°κ°„
        if today >= collectionDay {
            result.append(index+1)
        }
    }
    return result
}

 

- 풀이 쀑 제일 κ°„λ‹¨ν•˜λ‹€κ³  μƒκ°ν•œκ²Œ

λͺ¨λ“  λ‚ μ§œλ₯Ό 일의 수둜 λ§Œλ“€μ–΄ λΉ„κ΅ν•˜μ—¬ ν‘ΈλŠ”κ±°μ˜€μŠ΅λ‹ˆλ‹€.

 

- μ‹œκ°„μ œν•œμ— 걸리지 μ•Šμ„κΉŒ μ‹Άμ—ˆλŠ”λ°μš”..

2msκ°€ λ„˜λŠ” 것도 μžˆμ—ˆμ§€λ§Œ

문제의 μ‹œκ°„μ œν•œμ—λŠ” 걸리지 μ•Šμ•˜μŠ΅λ‹ˆλ‹€.