벌레 퇴치 ▶ indexOf, splice, slice 배열
Post

벌레 퇴치 ▶ indexOf, splice, slice 배열

안녕하세요~👋

오늘도 공부하는 무럭무럭 ✨성장몬✨ 입니다.


같이 성장하고 싶다면~?



📝 문제

개발자 원두는 새로운 기능을 개발하는 중입니다.

작성한 코드 중에 버그를 찾아 제거하세요.

배열 feature에는 문자열 ‘code’ 또는 ‘bug’가 담겨있습니다.

feature에 ‘bug’가 있다면 제거한 배열을 return하는 함수 solution을 완성해주세요.


제한 사항

  • 배열 feature 안에 있는 ‘bug’의 개수는 0개 또는 1개입니다.
  • 배열 feature의 길이는 1 이상 10 이하입니다.


🙄 입출력 예

featurereturn
[“code”, “bug”, “code”][“code”, “code”]
[“code”, “code”][“code”, “code”]



초기화

1
2
3
4
5
6
7
8
function solution(feature) {
// 여기에 코드를 작성하세요.
	
	
}

solution(["code", "bug", "code"]); // ["code", "code"]
solution(["code", "code"]); // ["code", "code"]

💖 정답

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function solution(feature) {
	// 1. 버그 어디 있음?
	const 버그의_인덱스 = feature.indexOf('bug');
	if(버그의_인덱스 === -1) {
		return feature
	};

	// 2. 버그 제거한 배열 구하기
	feature.splice(버그의_인덱스, 1);
	return feature;
	
}

solution(["code", "bug", "code"]); 
// ["code", "code"]
solution(["code", "code"]); 
// ["code", "code"]

또는

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function solution(feature) {
	// 1. 버그 어디 있음?
	const 버그의_인덱스 = feature.indexOf('bug');
	if(버그의_인덱스 === -1) {
		return feature
	};

	// 2. 버그 제거한 배열 구하기
	// 버그의_인덱스 전까지의 요소들
	const arr1 = feature.slice(0, 버그의_인덱스);
	// 버그의_인덱스 이후부터 끝까지의 요소들
	const arr2 = feature.slice(버그의_인덱스 + 1);
	
	return [...arr1, ...arr2];
	// 또는 return arr1.concat(arr2);
}

solution(["code", "bug", "code"]); 
// ["code", "code"]
solution(["code", "code"]); 
// ["code", "code"]


1
2
3
4
5
6
7
8
9
/* 풀이 과정 */
function solution(feature) {
	// 1. 버그 어디 있음?
	const 버그의_인덱스 = feature.indexOf('bug');
	console.log(버그의_인덱스);
	
}
// 1
// -1