문제 설명
정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.
String()
으로 숫자를 문자로 바꿔주고, Array.from()
으로 배열을 만들어준 다음 map
으로 숫자로 변경해줬다. (배열로만 바꾸니까 안에 원소들이 string타입이라 number타입인 k를 찾을 수가 없었기때문)
그 다음에 indexOf()
로 k가 있는 인덱스를 찾아주었다.
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
}
}
나랑 비슷한 방법으로 풀긴했지만 다른 사람의 코드가 깔끔해서 가져와봤다.
||을 이렇게 쓸 수 있군!
function solution(num, k) {
return num.toString().split('').map((el) =>
Number(el)).indexOf(k) +1 || -1
}