나의 기록, 현진록

[Swift] 프로그래머스 코딩테스트 연습> 연습문제> 푸드 파이트 대회 본문

Programming/Algorithm & Data Structure

[Swift] 프로그래머스 코딩테스트 연습> 연습문제> 푸드 파이트 대회

guswlsdk 2023. 1. 4. 16:38
반응형
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

풀이

물(0)을 기준으로 칼로리가 높은 순부터  양쪽에 음식을 배치하는 방법으로 구현하였다. 

 

문자열.insert()에 Character 형이 들어가야 하고 Int 형이 Character 형으로 바로 변환이 되지 않기 때문에  Int -> String -> Character 순으로 바꾸었다.

코드

func solution(_ food:[Int]) -> String {
    var str = "0"
    for (index, count) in food[1..<food.count].reversed().enumerated(){
        for _ in 0..<count / 2{
            str.append("\(food.count - 1 - index)")
            let first = str.index(str.startIndex, offsetBy: 0)
            let char = Character(String(food.count-1-index)) 
            str.insert(char, at: first)
        }
    }
    return str
}

 

반응형