코딩테스트/JavaScript
[코딩테스트] 숫자만 추출
CODE_PLAN
2023. 12. 23. 20:20
나의 풀이 1)
function solution(str) {
let answer = "";
str = str.replaceAll("[^0-9]", '');
// console.log(str)
return str ;
}
let str = "g0en2T0s8eSoft";
console.log(solution(str));
</script>
나의 풀이는 replaceAll을 이용해서 0-9 숫자가 아닌것은 모두 ' ' 빈문자열로 만들고 나머지 str을 출력하는것인데 출력이 잘 안되었었다
수정후 풀이2)
function solution(str) {
let answer = "";
str = str.replaceAll(/[^0-9]/g, '');
// console.log(str)
return str;
}
let str = "g0en2T0s8eSoft";
console.log(solution(str));
</script>
replaceAll 부분의 안 내용부분을 /[^0-9]/g 이렇게 수정해주니까 풀렸다.. replaceAlll 의 문법공부의 필요성!.
해설 정답풀이
<script>
function solution(str){
let answer="";
for(let x of str){
if(!isNaN(x)) answer+=x;
}
return parseInt(answer);
}
let str="g0en2T0s8eSoft";
console.log(solution(str));
</script>
풀이 포인트1) isNaN을 사용해서 숫자인지 아닌지를 판별
- isNaN 은 true 일때 숫자가 아닌거고 false 일때 숫자인것
풀이 포인트2) parseInt로 출력된 ex) 000234 이렇게 되어있으면 parseInt로 000를 없애주고 234로 출력한다.
+ tip) 손 코딩 문제가 나올수있으니 예를들면 parseInt 를 사용하지마라 이렇게 제시가 왔을때는 Number를 사용해서 풀어보기도하고 준비해야될것 같다.