문제(출처: 프로그래머스)
정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.
▶ 내가 푼 방식
function solution(num, k) {
var answer = Array.from(num.toString());
const kIndex = answer.indexOf(k.toString())
return kIndex === -1 ? kIndex : kIndex +1
}
function solution(num, k) {
var answer = Array.from(num.toString());
if(answer.indexOf(k.toString()) === -1){
return -1
}
else{
return answer.indexOf(k.toString()) + 1
}
}
▶ 다른 유저가 푼 방식
// 유저 1
function solution(num, k) {
return num.toString().split("").map((el) => Number(el)).indexOf(k) + 1 || -1
}
// 유저 2
function solution(num, k) {
let ind = (''+num).indexOf(k);
return ind === -1 ? -1 : ind+1;
}
▶ 배운 것들
- k가 존재하지 않아서 -1이 반환되면 -1+1 = 0 => flase 로 인식하여 -1 반환
- array에서 뿐만 아니라 string 에서도 indexOf 가 가능
'프로그래밍 > 코딩연습' 카테고리의 다른 글
[ JS 코딩연습 ] 2024/04/19 : 진료 순서 정하기 (0) | 2024.04.19 |
---|---|
[ JS 코딩연습 ] 2024/04/17 : 3. 문자열 정렬 (0) | 2024.04.17 |
[ JS 코딩연습 ] 2024/04/17 : 1. 약수 구하기 (0) | 2024.04.17 |
[ JS 코딩연습 ] 2024/04/16 : 2. 외계행성의 나이 (0) | 2024.04.17 |
[ JS 코딩연습 ] 2024/04/15 : 3. 자릿수 더하기 (0) | 2024.04.15 |