나 개발자 할래요
[JS] 푸드 파이트 대회 본문
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 |