빈 슬롯 목록 같은 값으로 채우기
자바스크립트 코딩테스트 문제로 array-fill-methods 주제를 연습해보세요. 난이도는 easy이며, 브라우저에서 바로 JavaScript로 풀이를 실행할 수 있습니다.
정해진 개수만큼 슬롯을 만들고, 모든 칸을 같은 기본값으로 채우는 문제입니다.
오늘의 메서드
Array.prototype.fill()
메서드 설명
fill()은 배열의 모든 요소를 같은 값으로 채우는 메서드입니다.- 새 배열을 일정한 기본값으로 초기화할 때 자주 사용합니다.
- 이 문제에서는
Array(count)로 길이만 있는 배열을 만든 뒤,fill(value)로 각 칸을 채웁니다.
기본 문법
arr.fill(value)
필요하면 채울 시작 위치와 끝 위치도 지정할 수 있습니다.
arr.fill(value, start, end)
사용 예시
Array(3).fill('빈칸'); // ['빈칸', '빈칸', '빈칸']
Array(4).fill(0); // [0, 0, 0, 0]
Array(0).fill('대기'); // []
주의할 점
fill()은 호출한 배열 자체를 바꿉니다. 이 문제에서는 새로 만든 배열에 바로 사용하므로 괜찮습니다.Array(count)만 만들면 아직 실제 값이 채워진 상태가 아닙니다.fill(value)까지 호출해야 각 칸에 값이 들어갑니다.- 객체나 배열 같은 참조값을
fill()로 채우면 모든 칸이 같은 참조를 공유합니다. 이 문제의 테스트는 문자열과 숫자처럼 단순한 값만 사용합니다.
제한사항
count는 0 이상 100 이하의 정수입니다.value는 문자열 또는 숫자입니다.- 반환값은 길이가
count이고, 모든 요소가value인 새 배열입니다. count가 0이면 빈 배열[]을 반환합니다.
예시
- 입력:
count = 3,value = '비어 있음'→ 출력:['비어 있음', '비어 있음', '비어 있음'] - 입력:
count = 1,value = '예약 가능'→ 출력:['예약 가능'] - 입력:
count = 0,value = '대기'→ 출력:[]
힌트
- 먼저 원하는 길이의 배열을 만들어야 합니다.
Array(count).fill(value)형태를 떠올려 보세요.count가 0이어도 별도 조건문 없이 자연스럽게 빈 배열이 만들어집니다.
해설
이 문제는 같은 기본값으로 채워진 배열을 만드는 방법을 연습합니다. 반복문으로 하나씩 push할 수도 있지만, JavaScript에서는 fill()을 사용하면 의도가 더 선명합니다.
예를 들어 count = 3, value = '비어 있음'이라면 먼저 길이가 3인 배열을 만들고:
Array(3)
그 배열의 모든 칸을 같은 값으로 채우면 됩니다.
Array(3).fill('비어 있음');
// ['비어 있음', '비어 있음', '비어 있음']
따라서 함수는 다음처럼 작성할 수 있습니다.
function fillEmptySlotList(count, value) {
return Array(count).fill(value);
}
이 풀이가 적합한 이유는 다음과 같습니다.
- 배열 길이와 초기값 설정이 한 줄에 드러납니다.
count가 0일 때도 별도 분기 없이[]가 반환됩니다.- 같은 값을 반복해서 넣는 목적에는
fill()이 반복문보다 간단하고 읽기 쉽습니다.
즉, fill()은 정해진 길이의 배열을 기본값으로 초기화할 때 가장 먼저 떠올리면 좋은 메서드입니다.
코드 작성
starter code를 바탕으로 함수를 완성한 뒤 예제 테스트를 실행해보세요.
JavaScript
에디터 로딩 중...
커스텀 테스트
함수 인자를 JSON 배열 형태로 입력하세요. 예: [3, 5], [[1, 2, 3]]
아직 실행하지 않았습니다.
실행 결과
아직 실행하지 않았습니다.
예제 테스트를 실행하면 여기에서 결과를 확인할 수 있습니다.
댓글
문제 풀이 아이디어, 질문, 반례를 자유롭게 나눠보세요.