[Programmers] 서울에서 김서방 찾기
2022. 10. 5. 15:06ㆍ기록/Programmers
- 목차
문제 설명
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
제한 사항
- seoul은 길이 1 이상, 1000 이하인 배열입니다.
- seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
- "Kim"은 반드시 seoul 안에 포함되어 있습니다.
입출력 예
seoul | return |
["Jane", "Kim"] | "김서방은 1에 있다" |
나의 문제 풀이
function solution(seoul) {
return `김서방은 ${seoul.indexOf('Kim')}에 있다`;
}
- indexOf() 함수를 사용하여 주어진 배열에서 'Kim' 이라는 문자열과 일치하는 요소의 인덱스를 찾아냈다.
다른 사람의 문제 풀이
const solution = (arr) => `김서방은 ${arr.findIndex(s => s === 'Kim')}에 있다`;
- findIndex() 함수를 사용하여 배열의 요소들 중에서 'Kim' 문자열과 일치하는 요소의 인덱스를 찾아냈다.
Array.prototype.indexOf()
arr.indexOf(배열에서 찾을 요소)
배열에서 특정 값을 찾을 수 있는 첫 번째 인덱스를 반환한다.
만약 특정 값인 요소를 찾을 수 없으면 -1을 반환한다.
배열에서 특정 값으로 찾을 경우 사용한다.
Array.prototype.findIndex()
arr.findIndex(콜백함수)
arr.findIndex(요소 => 조건)
주어진 함수를 만족하는 배열의 첫 번째 요소에 대한 인덱스를 반환한다.
만약 만족하는 요소가 없으면 -1을 반환한다.
특정 값 보다는 특정 조건으로 찾을 경우 사용한다.
indexOf() 와 findIndex() 함수는 용도가 비슷하지만 사용 방식과 동작 원리가 다르다.
비슷한 용도로 사용되는 함수들의 차이점에 대해서 잘 알아두어야 겠다.