[Javascript] LV.1 서울에서 김서방 찾기

은비·2023년 9월 14일
0

Programmers_CodingTest

목록 보기
42/72
post-thumbnail

문제 설명

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

제한 사항

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

입출력 예

seoulreturn
["Jane", "Kim"]"김서방은 1에 있다"

✍ SOLUTION1

const solution = (seoul) => `김서방은 ${seoul.indexOf("Kim")}에 있다`;

/* 
내가 처음 작성한 코드이다. 

먼저 템플릿 리터럴(``)을 사용하여 문자열을 생성한다.
${seoul.indexOf("Kim")} 부분에서 indexOf 메서드를 사용하여 
"Kim"이라는 값이 seoul 배열에서 처음으로 나타나는 인덱스를 찾는다.
*/

✍ SOLUTION2

const solution = (seoul) => {
  var idx = 0;
  for (var i = 0; i < seoul.length; i++){
	   if (seoul[i] === 'Kim'){
         idx += i;
         break; // 종료
	    }
  }
  return `김서방은 ${idx}에 있다`;
}

/*
for문을 이용해서 다른 방법으로 작성해보았다.

1. 변수 idx를 선언하고 0으로 초기화한다. (이 변수에 나중에 'Kim'의 위치값을 저장할 예정)
2. for문을 사용하여 배열 seoul의 모든 요소를 순회한다.
만약 현재 요소(seoul[i])가 "Kim"과 같다면, 그 때의 인덱스 값을 idx에 더하고 (idx += i;)
for문을 바로 종료한다.
*/

출처 : 프로그래머스 스쿨 | 코딩테스트 연습

0개의 댓글