[Wecode] Repl.it 중간 시험 - getFind

hangkemiii·2022년 5월 6일
0

wecode

목록 보기
15/26
post-thumbnail
post-custom-banner

문제

getFind 함수를 작성하세요.

문자와 문자열이 주어졌을때, getFind 함수는 주어진 문자열에서 주어진 문자가 나타나는 첫번째 위치를 반환합니다.

Notes: 문자열의 첫번째 문자는 인덱스 값 0 을 가집니다. 만약 문자열에 해당 문자가 여러번 나타나면, 첫번째로 나타나는 위치를 반환해야 합니다. 만약 문자가 문자열에 존재하지 않는다면, -1 을 반환해야 합니다.

중요!! indexOf 함수를 사용하지 마세요.

const output = getFind('a', 'I am a hacker')
console.log(output) // --> 2

내 풀이

function getFind(filter, sentence) { 
  // 아래 코드를 작성해주세요.
  let sentenceStr = sentence.split("");
  
  for (let i=0; i<sentenceStr.length; i++) {
    if (filter === sentenceStr[i]) {
      return i;
    }
  }

  return -1;
  
}

주어진 문자열을 문자의 배열로 변환시키기 위해, split() 함수에 ""를 구분자로 주어 각 문자 하나 하나를 배열의 인덱스로 변환하였다. 그리고 for문으로 해당 배열을 순회하고, filter와 배열의 인덱스값이 같다면 해당 인덱스를 리턴해 주었다. 만일 배열을 다 순회했는데도 filter와 같지 않다면, filter의 값이 문자열에 포함되지 않은 것이므로 문제에서 주어진 -1을 반환해주었다.

그리 어려운 문제는 아니었지만, split() 함수의 기능을 다시 한번 익히는 느낌으로 블로깅!

profile
Front-End Developer
post-custom-banner

0개의 댓글