MUKER_DEV with iOS

[swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋งˆ๋ฒ•์˜ ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ๋ณธ๋ฌธ

๐Ÿค– ์•Œ๊ณ ๋ฆฌ์ฆ˜/programmers

[swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋งˆ๋ฒ•์˜ ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ

MUKER 2023. 6. 27. 23:39
 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr


์„ฑ๊ณต ํ’€์ด

import Foundation

func solution(_ storey:Int) -> Int {
    var result = 0
    var intArr = String(storey).map {Int(String($0))!}
    
    for i in (0..<intArr.count).reversed() {
        let n = intArr[i]
        if i == 0 { // ํ˜„์žฌ์ธต์ด ์ œ์ผ ๋†’์€ ์ธต ์ผ ๋•Œ
            if n > 5 { 
                result += 11-n
            } else {
                result += n
            }
        } else {
            if n == 5 { // ํ˜„์žฌ ์ธต์ด 5์ธต์ผ ๋•Œ
                if intArr[i-1] > 4 { // ์•ž์ธต์ด 4์ธต ๋ณด๋‹ค ํฌ๋ฉด
                    result += 10-n
                    intArr[i-1] += 1
                } else { // ์•ž์ธต์ด 4์ธต ์ดํ•˜๋ผ๋ฉด
                    result += n
                }
            } else if n > 5 { // ํ˜„์žฌ ์ธต์ด 5์ธต ์ด์ƒ์ผ ๋•Œ
                result += 10-n
                intArr[i-1] += 1
            } else { // ํ˜„์žฌ ์ธต์ด 4์ธต ์ดํ•˜์ผ ๋•Œ
                result += n
            }
        }
    }
    return result
}

ํ’€์ด ํ‚ค์›Œ๋“œ

๊ตฌํ˜„, ์‹œ๋ฎฌ๋ ˆ์ด์…˜