ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • #AIL_23.11.15 // Programmers_서울에서 김서방 찾기
    AIL( Algorithm I Learned) 2023. 11. 15. 21:24

    ## AIL_서울에서 김서방 찾기

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

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

    ***입출력 예
    seoul return
    ["Jane", "Kim"] "김서방은 1에 있다"

    ## solution.JavaScript

    1. 문제의 접근 방식

    주어진 문제는 배열 `seoul`에서 "Kim"의 위치를 찾아서 그 위치를 문자열에 포함하여 반환하는 것입니다. 배열 `seoul`에서 "Kim"은 오직 한 번만  나타난다고 가정합니다. 


    2. 문제풀이

    function solution(seoul) {
        let i = seoul.indexOf("Kim");
        return `김서방은 ${i}에 있다`;
    }
    /*
    테스트 1
    입력값 〉	["Jane", "Kim"]
    기댓값 〉	"김서방은 1에 있다"
    실행 결과 〉	테스트를 통과하였습니다.
    */

     

    1. `indexOf()` 메서드를 사용하여 "Kim"이라는 문자열이 배열 `seoul`에서 처음 등장하는 인덱스를 찾습니다. 

    - `indexOf()` 메서드는 배열에서 지정된 요소의 인덱스를 반환합니다. 

    - `"Kim"` 문자열이 `seoul`에서 발견되면 해당 인덱스가 반환됩니다. 

     

    2. 반환된 인덱스를 활용하여 원하는 출력 형식인 `"김서방은 x에 있다"` 문자열을 생성합니다. 

    - 찾은 인덱스 값을 활용하여 해당 위치를 문자열에 포함시킵니다. 


    3. 다른사람의 문제풀이 및 접근방식 분석

    const solution = (arr) => `김서방은 ${arr.findIndex(s => s === 'Kim')}에 있다`;
    /*
    테스트 1
    입력값 〉	["Jane", "Kim"]
    기댓값 〉	"김서방은 1에 있다"
    실행 결과 〉	테스트를 통과하였습니다.
    */

     

    1. `findIndex()` 메서드를 활용하여 배열 `arr`에서 조건을 만족하는 첫 번째 요소의 인덱스를 찾습니다. 

    - `findIndex()` 메서드는 주어진 함수의 조건을 만족하는  배열의 첫 번째 요소의 인덱스를 반환합니다. 

    - 주어진 코드에서는 `s === 'Kim'` 조건을 사용하여 "Kim"이라는 요소를 찾습니다. 

     

    2. 찾은 인덱스를 활용하여 `"김서방은 x에 있다"` 형태의 문자열을 생성합니다. 

    - `findIndex()` 메서드에서 찾은 인덱스를 활용하여 문자열 템플릿 리터럴을 이용해 원하는 형식으로 문자열을 만듭니다. 

     

    코드에서 사용되는 화살표 함수 `(arr) => ...`은 ES6 화살표 함수 표현식입니다. 이 함수는 `arr`이라는 배열을 받아 `findIndex()` 메서드를 사용하여 "Kim" 요소를 찾고 해당 요소의 인덱스를 활용하여 문자열을 반환합니다. 


    # indexOf()와 findIndex() 적용 시점

    `indexOf()`는 단순히 특정 요소의 인덱스를 찾을  때 사용됩니다. 특정 값이 배열 내에 있는지 여부를 확인하고자 할 때 유용합니다. 

     

    `findIndex()`는 더 복잡한 조건에 따라 배열 요소의 인덱스를 찾을 때 사용됩니다. 주어진 조건에 따라 배열을 탐색하고 해당 조건을 만족하는 첫 번째 요소의 인덱스를 반환합니다. 

Designed by Tistory.