Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

나 개발자 할래요

[JS] 푸드 파이트 대회 본문

개발자 되는 법.../코딩테스트...

[JS] 푸드 파이트 대회

개발_자 2024. 7. 17. 09:08

function solution(food) {
    var answer = [];
    food.map((e, i) => {
        if(e >= 2) {
            answer.push(i.toString().repeat(Math.floor(e / 2)));
        }
    })
    return answer.join('') + '0' + answer.reverse().join('');
}
food.map((e, i) => {
    if(e >= 2) {
        answer.push(i.toString().repeat(Math.floor(e / 2)));
    }
})

 

 

`food` 배열의 각 요소와 해당 인덱스 순회

각 요소 `e`가 2 이상인 경우에만

인덱스 `i`를 문자열로 변환하고, `e`를 2로 나눈 몫만큼 반복하여 `answer` 배열에 추가

 

.repeat()

문자열 반복 반환

 

 

return answer.join('') + '0' + answer.reverse().join('');

 

 

`answer` 배열을 문자열로 합침

중앙에 '0' 추가

`answer` 배열을 뒤집어 다시 문자열로 합친 후 붙임

 

function solution(food) {
    let res = '';
    for (let i = 1; i < food.length; i++) {
        res += String(i).repeat(Math.floor(food[i]/2));
    }

    return res + '0' + [...res].reverse().join('');
}
for (let i = 1; i < food.length; i++) {
    res += String(i).repeat(Math.floor(food[i] / 2));
}

 

 

`food` 배열의 인덱스 1부터 마지막 요소까지 순회

각 요소 `food[i]`의 값을 2로 나눈 몫만큼

인덱스 i를 문자열로 변환하여 `res` 문자열에 반복해서 추가

 

return res + '0' + [...res].reverse().join('');

 

`res` 문자열을 그대로 사용하고 그 뒤에 '0'을 추가

`res` 문자열을 배열로 변환한 후 이를 뒤집어서 다시 문자열로 합침

`[...res].reverse().join('')`는 문자열 `res`의 역순을 반환

이 두 부분을 결합하여 최종 결과 문자열을 생성하고 반환

 

'개발자 되는 법... > 코딩테스트...' 카테고리의 다른 글

[JS] 명예의 전당  (0) 2024.07.31
[JS] 콜라 문제  (0) 2024.07.18
[JS] 가장 가까운 같은 글자  (0) 2024.07.16
[JS] 두 개 뽑아서 더하기  (0) 2024.07.15
[JS] K번째수  (0) 2024.07.12