[프로그래머스] 숫자 찾기
카테고리 : 컴퓨터 공학
태그: programmers · Code Refactoring · 참고 할 만한 다른 사람의 코드 · 코딩 기초 트레이닝 · 프로그래머스 · 코딩테스트 연습 · JavaScript · 숫자 찾기 · js 숫자 찾기
태그: programmers · Code Refactoring · 참고 할 만한 다른 사람의 코드 · 코딩 기초 트레이닝 · 프로그래머스 · 코딩테스트 연습 · JavaScript · 숫자 찾기 · js 숫자 찾기
문제 설명
정수 num
과 k
가 매개변수로 주어질 때, num
을 이루는 숫자 중에 k
가 있으면 num
의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 0 <
num
< 1,000,000 - 0 ≤
k
< 10 num
에k
가 여러 개 있으면 가장 처음 나타나는 자리를 return 합니다.
입출력 예
num | k | result |
---|---|---|
29183 | 1 | 3 |
232443 | 4 | 4 |
123456 | 7 | -1 |
입출력 예 설명
입출력 예 #1
- 29183에서 1은 3번째에 있습니다.
입출력 예 #2
- 232443에서 4는 4번째에 처음 등장합니다.
입출력 예 #3
- 123456에 7은 없으므로 -1을 return 합니다.
나의 풀이
function solution(num, k) {
var answer = num.toString();
var result = answer.includes(k) ? answer.indexOf(k) + 1 : -1;
return result;
}
나의 두번째 풀이(Code Refactoring)
function solution(num, k) {
let result = num
.toString()
.split("")
.findIndex((v) => v.includes(k));
return result !== -1 ? result + 1 : -1;
}
// findIndex로 해당하는 인덱스의 첫번째 값을 찾아내고 true값은 인덱스값의 +1 , 그렇지 않으면 -1 반환
참고 할 만한 다른 사람의 코드
function solution(num, k) {
return (
num
.toString()
.split("")
.map((el) => Number(el))
.indexOf(k) + 1 || -1
);
}
// k가 존재 하지 않으면 -1 반환 ,