ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [wecode 2주차] JavaScript Exam(4)
    Trainings/Exam 2020. 5. 2. 22:23

    [ 문제 ]

    "get_find" 함수를 작성하세요.

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

    Notes:

    • 문자열의 첫번째 문자는 인덱스 값 0을 가집니다.

    • 만약 문자열에 해당 문자가 여러번 나타나면, 첫 번째로 나타나는 위치를 반환해야 합니다.

    • 만약 문자가 문자열에 존재하지 않는다면, -1 을 반환해야 합니다.

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

     

    [ 결과 ]

    const output = get_find('a', 'I am a hacker')

    console.log(output) // --> 2

     

    [내가 짠 코드]

    function get_find(ch,str){
      if(str.search(ch)){
        return str.search(ch);
      }else{
        return -1;
      }
    }
    const output = get_find('a', 'I am a hacker')
    console.log(output) // --> 2

    우선 "get_find" 이라는 함수를 정의한다.

    함수 내부에서 매개변수 이름은 문자를 의미하는 ch와 문자열을 의미하는 str로 지정했다.

    함수 호출에서 첫번째 인자는 첫 번째로 나타나는 문자, 두 번째 인자는 첫 번째 인자가 들어있는 문자열을 의미한다.

    일단 indexOf를 이용하면 안되기 때문에, 처음에는 a라는 문자가 문자열에서 일치하는 순간 배열에 담아서 첫 번째 배열 값으로 return 하려고 했으나, 문제에서 요구하는 방식에서 어긋나는 것 같아서 다른 방식을 생각해보았다.

    그러다 search()라는 내장 함수를 알게되었다.

    포함하는 문자가 있으면 인덱스를 리턴하고, 만약 문자가 포함되어 있지 않으면 -1을 반환한다.

    indexOf()와 상당히 비슷했다.

    결국 한번 적용시켜보았는데, 첫 번째로 발견된 문자열의 위치가 반환되는 것을 확인할 수 있었다.

     

    'Trainings > Exam' 카테고리의 다른 글

    [wecode 2주차] JavaScript Exam(5)  (0) 2020.05.02
    [wecode 2주차] JavaScript Exam(3)  (0) 2020.05.02
    [wecode 2주차] JavaScript Exam(2)  (0) 2020.05.02
    [wecode 2주차] JavaScript Exam(1)  (0) 2020.05.02

    댓글

Designed by Tistory.