정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.
num < 1,000,000k < 10num에 k가 여러 개 있으면 가장 처음 나타나는 자리를 return 합니다.| num | k | result |
|---|---|---|
| 29183 | 1 | 3 |
| 232443 | 4 | 4 |
| 123456 | 7 | -1 |
입출력 예 #1
입출력 예 #2
입출력 예 #3
✅ 답안 #1 : 정수로 이루어진 num을 배열 형태로 변환하기 위해 문자열 형태의 배열로 복사 […String(num)]하고 String(k)가 포함되어 있다면 해당 배열의 indexOf(String(k)) + 1을 반환하고 아니라면 -1을 반환한다.
function solution(num, k) {
return [...String(num)].includes(String(k))
? [...String(num)].indexOf(String(k)) + 1
: -1;
}
✅ 답안 #2: 문자열 형태의 배열을 map() 함수를 통해 숫자 타입의 배열로 바꿔 준 후, indexOf(k) + 1을 리턴하거나 혹은(indexOf(k)가 없는 값이라면) -1을 리턴한다.
function solution(num, k) {
return [...String(num)].map((v) => Number(v)).indexOf(k) + 1 || -1;
}