반응형
문제 3-3번
문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만 듭니다. 만약 “tge0a1h205er”에서 숫자만 추출하면 0, 1, 2, 0, 5이고 이것을 자연수를 만들면 1205 이 됩니다. 추출하여 만들어지는 자연수는 100,000,000을 넘지 않습니다.
🍄 입력설명
첫 줄에 숫자가 섞인 문자열이 주어집니다. 문자열의 길이는 50을 넘지 않습니다.
🍄 출력설명
첫 줄에 자연수를 출력합니다.
🍄 입력예제 1
g0en2T0s8eSoft
🍄 출력예제 1
208
정답 코드
1) 정규식 이용
/[^0-9]/g 는 숫자 0~9가 아닌 것들
/^0/ -> 0인 것
function solution(s) {
let answer;
let n = s.replace(/[^0-9]/g, "");
if (n[0] === "0") answer = n.replace(/^0/, "");
return answer;
}
let str = "g0en2T0s8eSoft";
console.log(solution(str));
//208출력
2) isNaN() 함수 사용
- isNaN()는 어떤 값이 NaN(not a number)인지 판별하여(숫자가 아닌지 판별) true/false로 반환한다.
function solution(s) {
let answer = "";
//isNaN()는 어떤 값이 NaN인지 판별한다(숫자가 아닌지 판별) true/false로 반환
for (let x of s) {
if (!isNaN(x)) answer += x;
}
//parseInt는 문자열을 숫자로 바꾼다. 자동으로 앞의 0을 떼준다
return parseInt(answer);
}
let str = "g0en2T0s8eSoft";
console.log(solution(str));
//208 출력
728x90
반응형
'알고리즘' 카테고리의 다른 글
[JS] 알고리즘 기초 정복 3-5번_문자열 압축 (0) | 2021.07.15 |
---|---|
[JS] 알고리즘 기초 정복 3-4번_가장 짧은 문자거리 (0) | 2021.07.15 |
[JS] 알고리즘 기초 정복 3-2번_유효한 팰린드롬 (0) | 2021.07.15 |
[JS] 알고리즘 기초 정복 3-1번_회문 문자열 (0) | 2021.07.15 |
[JS] 알고리즘 기초 정복 2-7번 - 봉우리 🌟 (0) | 2021.07.13 |