JavaScripts 문제

문제 51. 푸드 파이트 대회(난이도 3)

kagan-draca 2024. 7. 31. 16:34

 

문제를 보고 0을 기준으로 좌우대칭을 이루고 있기 때문에,

0을 기준으로 왼쪽만 구하고 오른쪽은 왼쪽을 구한 결과를 반전시키자 생각했다.

 

그래서, food.map((element, index) =>

{

        answer += index.toString().repeat(parseInt(element/ 2))

})

칼로리가 food의 index이고,

개수가 element라는 점을 이용해

index를 문자열로 바꾸고

repeat(parseInt(element / 2))로

0을 기준 왼쪽만 찾아줬습니다.

 

이후, answer + '0' + answer.split('').sort((a,b)=> b-a).join('')

으로 0과 오른쪽을 구현해줬습니다.

 

 

제출한 코드 : 

 

function solution(food) {
    let answer = '';
    food.map((element, index)=>
    {
        let temp = index.toString()
        answer += temp.repeat(parseInt(element/ 2))
    })
    return answer+'0'+answer.split('').sort((a,b)=> b-a).join('');
}