[Programmers] 숫자 찾기

그래도 해야지·2023년 4월 25일
0

Programmers

목록 보기
24/40
post-thumbnail

문제 설명
정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.

🤔 해설

String()으로 숫자를 문자로 바꿔주고, Array.from() 으로 배열을 만들어준 다음 map으로 숫자로 변경해줬다. (배열로만 바꾸니까 안에 원소들이 string타입이라 number타입인 k를 찾을 수가 없었기때문)
그 다음에 indexOf()로 k가 있는 인덱스를 찾아주었다.

✅ 답 1

function solution(num, k) {
    const arr = Array.from(String(num)).map(Number)
    if(arr.includes(k) === true) {
        return arr.indexOf(k) + 1
    } else {
        return -1
    }
}

✅ 답 2(다른 사람의 답)

나랑 비슷한 방법으로 풀긴했지만 다른 사람의 코드가 깔끔해서 가져와봤다.
||을 이렇게 쓸 수 있군!

function solution(num, k) {
    return num.toString().split('').map((el) => 
      Number(el)).indexOf(k) +1 || -1
}

0개의 댓글