문제설명
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다" 는 String을 반환하는 함수 solution을
완성해주세요, seoul에 "Kim"은 오직 한번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
제한사항
- seoul은 길이 1이상, 1000 이하인 배열입니다.
- seoul의 원소는 길이 1 이상, 20 이하인 문자열 입니다.
- "Kim"은 반드시 seoul 안에 포함되어 있습니다
입출력 예
seoul | return |
["Jane", "Kim"] | "김서방은 1에 있다" |
for 문을 이용한 Javascript 풀이법
function solution(seoul) {
let answer = '';
// for문을 이용한 방법
for (let i = 0; i < seoul.length; i++) {
// if 문을 사용해 seoul의 [i] 값을 Kim으로 대입하고
// let 으로 선언한 answer에 문자열 과 i 값을 합서 대입한다.
if(seoul[i]=="Kim") answer += "김서방은 " + i + "에 있다";
}
return answer;
// for(let i=0; i<seoul.length; i++) {
// if(seoul[i]=="Kim") answer += "김서방은 " + i + "에 있다";
// }
// return answer;
}
멘토님 풀이범
function solution(seoul) {
// x라는 값의 kim의 위치
// let x = 0; // 김서방의 위치값을 저장하는 변수
// 해당 배열에서 어떤 index를 가지는지 출력
// 없는 데이터일 경우 -1 리턴
// 있으면 해당 데이터 index
const x = seoul.indexOf("Kim");
// console.log(x)
return `김서방은 ${x}에 있다`
// // 배열 요소를 다가져와 한번씩 돌려 kim을 해당 index에 넣어줌
// for (let i = 0; i < seoul.length; i++) {
// // kim을 찾은 시점에 index 값을 x에 저장 시켜줌
// if (seoul[i] === "Kim") {
// // x = i;
// // 배열의 길이가 1000개라 하더라도 앞에서 for문을 돌지않고 끝
// // break;
// // return 값을더해주면 break 된것과 동시에 return
// return `김서방은 ${i}에 있다`
// }
// }
}
'etc. > Algorithm' 카테고리의 다른 글
[프로그래머스] 약수의 합 (0) | 2022.01.19 |
---|---|
[알고리즘 테스트] 가운데 글자 가져오기 (0) | 2022.01.18 |
[알고리즘 테스트] 평균 구하기 (0) | 2022.01.18 |