🗃️javascript/프로그래머스
숫자 찾기(Lv.0)[map()의 다음함수와 연결. map()다음 if문 추가는 '||' 고려]
하얀성
2023. 1. 5. 23:19
<문제 설명>
제한사항
입출력 예numkresult
입출력 예 설명
정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 0 < num < 1,000,000
- 0 ≤ k < 10
- num에 k가 여러 개 있으면 가장 처음 나타나는 자리를 return 합니다.
입출력 예numkresult
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) {
let result = num.toString().split("").map((x,i) => Number(x)==k,0).indexOf(true)
if(result != -1){
result++;
}
return result
}
ㅡㅡㅡㅡ> 수정보완
1.
i 굳이 쓸필요 x
2.
배열.indexOf( 값 혹은 변수)는 위치를 출력해줌.
3.
filter()는 조건에 맞는 요소를 아무 변화없이 추출해줄 뿐임.
map에 if문을 쓰고 싶을 때가 오면 아래와 같이 || 를 많이 써서 추가해주더라.
그러니 앞으로는 비슷한 상황에서 우선 ||을 떠올려보자.
function solution(num, k) {
return num.toString().split("").map((el) => Number(el)).indexOf(k) + 1 || -1
}