Don't be afraid of challenges

[프로그래머스] Lv.1 푸드 파이트 대회 - js 본문

이것이 코딩테스트다

[프로그래머스] Lv.1 푸드 파이트 대회 - js

초아롱 2024. 4. 30. 16:57

https://school.programmers.co.kr/learn/courses/30/lessons/134240

 

프로그래머스

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

programmers.co.kr

 

알 수 있는 사실 (내 생각회로)
1. food[0]은 물이니까 즉 0을 나타냄
2. food[1]부터는 칼로리가 낮은 순서대로 음식개수가 있음
3. 그러면 반복문을 돌려서 food[i] /2 만큼 앞뒤로 더해주면 되겠다!
나의 풀이
function solution(food) {
    let arr = [0];
    for(let i =food.length-1; i>0; i--){
        for(let j =0; j<Math.floor(food[i]/2); j++){
           arr.push(i);
           arr.unshift(i);    
        }
   }
    return arr.join("");
}

 

다른 사람 풀이
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('');
}

 

아맞다 repeat 메소드가 있었구나 ㅜ