정수 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;
}