programmers 코딩테스트 : 서울에서 김서방 찾기

H·2022년 6월 9일
0

Coding Test

목록 보기
21/26

🔔 서울에서 김서방 찾기

📢 문제 설명
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.

⛔ 제한 사항
seoul은 길이 1 이상, 1000 이하인 배열입니다.
seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
"Kim"은 반드시 seoul 안에 포함되어 있습니다.


🔠 첫번째 시도 코드 (test4 실패)

 const seoul = ["Jane", "Jane", "Jane", "Kim"];
  function solution(seoul) {
      let answer = "";
      for (let i = 1; i < seoul.length; i++) {
        if (seoul[i] == "Kim") {
          answer += "김서방은 " + i + "에 있다";
          break;
        }
      }
      return answer;
	}

📌 코드 설명

  1. for문으로 i를 1부터 배열의 length까지 돌린다.
  2. if문을 조건으로 seoul[i] == kim인 index를 찾는다.
  3. answer += "김서방은 " + i + "에 있다"; i 체킹하기
  4. return answer;

📍 실패의 이유,....

0번째를 고려 하지 않아서 인 것 같다.
순서는 0 부터 시작하는데 내 for문은 1부터 시작하니까,,,,,,,

굳이 for문을 쓰고 싶다면 변수 하나 설정해서 0 으로 만들어 두고, 해당 변수에 i를 넣어주는 방식으로 해야겠습니다.


🔠 두번째 통과한 코드

function solution(seoul) {
	return "김서방은 " + seoul.indexOf("Kim") + "에 있다";
}

📌 코드 설명

indexOf('')로 자리 찾아서 return하면 됩니다.


🔠 다른 사람의 코드

function findKim(seoul) {
  var idx = 0;
  //함수를 완성하세요
  idx = seoul.indexOf("Kim");
  return "김서방은 " + idx + "에 있다";
}

🔠 다른 사람의 코드

let idx = seoul.findIndex((e) => {
  return e === "Kim";
});

answer = `김서방은 ${idx}에 있다`;
profile
🤘 돌머리도 ROCK이다! 🤘

0개의 댓글