[TIL #11 WECODE] 중간시험 #Replit JS

Whoyoung90·2021년 3월 1일
0
post-thumbnail

210226 WECODE #11

문제1

getFind 함수는 주어진 문자열에서 주어진 문자가 나타나는 첫번째 위치를 반환합니다.
Notes: 문자열의 첫번째 문자는 인덱스 값 0 을 가집니다.
만약 문자열에 해당 문자가 여러번 나타나면, 첫번째로 나타나는 위치를 반환해야 합니다.
만약 문자가 문자열에 존재하지 않는 문자와 문자열이 주어졌을때, 다면, -1 을 반환해야 합니다.
const output = getFind('a', 'I am a hacker')
console.log(output) // --> 2

<script>
  function getFind(filter, sentence) {
  for(i = 0; i<sentence.length; i++){
    if(sentence[i] === filter){
      return i; 
    }
  }
  return -1; 
}
getFind('a', 'I am a hacker');
</script>
  • return i;=> true면 여기서 return하고 함수 종료(일치하는 값나올때까지 for문이 돈다)
  • return -1;=> for문이 끝나고 여기로 온다는 것은? 성립하는 값이 없을때!

문제2

주어진 ["PHP", "Exercises", "Backend"]안에 있는 단어중
가장 긴 단어를 찾을수 있도록 함수를 완성해주세요.

<script>
  function find_longest_word(arr) {
  let longest = arr[0]; 
  for( let i = 0; i < arr.length; i++){
    if(longest.length < arr[i].length){
      return longest = arr[i]; 
    }
  }
}
find_longest_word(["PHP", "Exercises", "Backend"]);
</script>
  • let longest = arr[0];=> 첫값을 기준잡고
  • return longest = arr[i];=> arr[0] X, arr[1]성립->longest = "Exercises", arr[2] X
profile
비전공으로 일식 쉐프가 되었듯, 배움에 겸손한 프론트엔드 개발자가 되겠습니다 :)

0개의 댓글