나의 풀이 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를 사용해서 풀어보기도하고 준비해야될것 같다.
'코딩테스트 > JavaScript' 카테고리의 다른 글
[코딩테스트] 문자열 압축 (0) | 2023.12.24 |
---|---|
[코딩테스트] 가장 짧은 문자거리 (0) | 2023.12.24 |
[코딩테스트] 봉우리 (4) | 2023.12.22 |
[코딩테스트] 격자판 최대합 (2) | 2023.12.22 |
[코딩테스트] 등수구하기 (0) | 2023.12.20 |