한 걸음씩 기록하며
[프로그래머스 코딩테스트] 서울에서 김서방 찾기 본문
[서울에서 김서방 찾기]
문제 설명 :
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
⛏제한 조건
- seoul은 길이 1 이상, 1000 이하인 배열입니다.
- seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
- "Kim"은 반드시 seoul 안에 포함되어 있습니다.
📁 입출력 예시
👉🏻 답안
1) for문 이용
function solution(seoul) {
let s = 0;
for (let i = 0; i < seoul.length; i++) {
if (seoul[i] === "Kim") {
s = i;
}
}
return `김서방은 ${s}에 있다`;
}
2) indexOf 메서드 이용
function solution(seoul) {
let whereKim = seoul.indexOf("Kim");
return `김서방은 ${whereKim}에 있다`;
}
📑 간단한 설명
.indexOf("value", "position) : 문자열에서 value와 같은 값을 찾아내는 함수. position은 시작 인덱스
가장 먼저 나오는 value를 찾고 값을 리턴해준다.
💪🏻 공부하면 좋을 답안
const solution = (arr) => `김서방은 ${arr.findIndex(s => s === 'Kim')}에 있다`;
- 익명 함수를 선언하고 findIndex 메서드를 사용했다. 개인적으로는 아래와 같이 indexOf를 쓰면 더 좋을 것 같다.
const solution = (arr) => `김서방은 ${arr.indexOf('Kim')}에 있다`;
.find, findIndex, indexOf는 간략하게 다른 글에 정리해보려한다.
'알고리즘 & 코딩테스트' 카테고리의 다른 글
[프로그래머스 코딩테스트] 완주하지 못한 선수 (0) | 2022.01.17 |
---|---|
[프로그래머스 코딩테스트] 수박수박수? (0) | 2022.01.17 |
[프로그래머스 코딩테스트] 문자열 다루기 기본 (0) | 2022.01.16 |
[프로그래머스 코딩테스트] 문자열 내 p와 y의 개수 (0) | 2022.01.16 |
[프로그래머스 코딩테스트] 내적 (0) | 2022.01.16 |
Comments