Lv. 1 - 서울에서 김서방 찾기 풀이과정
문제 설명
- 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) {
var answer = [];
return answer;
}
문제 풀이
const solution = (seoul) => {
let chk = seoul.indexOf("Kim");
return `김서방은 ${chk}에 있다`;
};
함수 선언
- 화살표 함수를 사용하여
seoul
매개변수를 받는다.
풀이
- indexOf() 함수를 사용하여 문자열의 인덱스를 찾을 수 있다.
-
let chk = seoul.indexOf('Kim')
을 선언하여 몇 번째 배열에 ‘Kim’ 이 있는지 확인 -
return 김서방은 ${chk}에 있다
로 김서방은 1에 있다 리턴
결과 반환
-
let chk = seoul.indexOf('Jane')
선언할 경우 0 반환 -
let chk = seoul.indexOf('Kim')
선언할 경우 1 반환
실행
-
console.log(solution(["Jane", "Kim"]))
실행하면 “김서방은 1에 있다” 출력
다른 사람의 풀이 참고
자바스크립트에서 특정 문자의 인덱스 값을 찾는 방법을 몰라 구글링했는데, 정석이었다!
// [41명] indexOf 함수를 사용한 문제 풀이
function findKim(seoul) {
var idx = seoul.indexOf("Kim");
return "김서방은 " + idx + "에 있다";
}
// [6명] indexOf 함수를 사용하여 변수를 생략한 문제 풀이
function findKim(seoul) {
return `김서방은 ${seoul.indexOf("Kim")}에 있다`;
}
링크
- 문제 링크: 문제 링크
- Git: rarrit github
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges