MUKER_DEV with iOS

[swift] ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - ν‘Έλ“œ 파이트 λŒ€νšŒ λ³Έλ¬Έ

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

[swift] ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - ν‘Έλ“œ 파이트 λŒ€νšŒ

MUKER 2023. 1. 17. 11:25
 

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

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

programmers.co.kr


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

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

 

λ‚˜μ˜ 풀이

func solution(_ food:[Int]) -> String {
    var foodOrder = ""
    food.indices.forEach { i in
        guard i != 0 else { return }
        foodOrder += String(repeating: "\(i)", count: food[i] / 2)
    }
    return foodOrder + "0" + foodOrder.reversed()
}

 

 

 


κ°œμ„ λœ 풀이

func solution(_ food:[Int]) -> String {
    var foodOrder = ""
    food.indices.forEach { i in
        foodOrder += String(repeating: "\(i)", count: food[i] / 2)
    }
    return foodOrder + "0" + foodOrder.reversed()
}

 

μƒκ°ν•΄λ³΄λ‹ˆ

guard i != 0 else { return }

 

인덱슀0은 무쑰건 1이기 λ•Œλ¬Έμ— 2둜 λ‚˜λˆ„λ©΄ 0

즉 guard문이 μžˆμœΌλ‚˜ μ—†μœΌλ‚˜ κ°™μ•„μ„œ μ§€μ›Œμ€¬μŠ΅λ‹ˆλ‹€.

 


μ°Έκ³ ν• λ§Œν•œ 풀이

func solution(_ food: [Int]) -> String {
    let myString = food.enumerated().map { index, i in
        String(repeating: String(index), count: (i % 2 == 0 ? i : i - 1) / 2)
    }.joined()
    return "\(myString)0\(String(myString.reversed()))"
}