⚡문제정보
🔍접근방법
주어진 음식이 홀수인 경우에는 음식을 한개 버려야한다.
모든 참가자는 같은 칼로리의 음식을 같은 양으로 먹기 때문에
0을 기준으로 앞을 뒤집으면 뒤가 된다.
그렇기때문에 앞의 값만 다 구하면 뒤는 앞을 뒤집어주기만 하면 구현될것이다.
🔍나의 풀이
function solution(food) {
let result = []
for(i=1; i<food.length ; i++) {
for(j=0;j<Math.floor(food[i]/2) ; j++ ) {
result.push(i)
}
}
return result.join('') + '0' + result.reverse().join('')
}
Math.floor()로 소수점을 버려주면서 답을 result에 더해주고
뒤는 reverse()시켜줬습니다.
그런데.. 다른 사람 풀이를 보니까 저처럼 for문을 두번 안써도
repeat()로 해결 가능하더라고요
🔍다른사람의 풀이
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()는 주어진 횟수만큼 반복해 붙인 문자열을 반환하는 메서드입니다.
반응형
'programmers' 카테고리의 다른 글
[Programmers Level 1] 숫자 짝꿍 Javascript (0) | 2022.12.14 |
---|---|
[Programmers Level 0] OX 퀴즈 Javascript (0) | 2022.12.14 |
[Programmers Level 1] 명예의 전당 Javascript (0) | 2022.12.14 |
[Programmers Level 0] 등수 매기기 Javascript (0) | 2022.12.14 |
[Programmers Level 0] 분수의 덧셈 Javascript (0) | 2022.12.13 |