
생각 과정
너무 쉽다. Number() 메소드 활용하면 되는 것 아닌가? -> 오답
정규표현식을 사용해 숫자 0부터 9가 아닌 것이 오면 false를 반환하자.
function solution(s) {
// 문자열 s의 길이 체크
if(s.length !== 4 && s.length !== 6) return false;
// 0부터 9까지의 숫자가 아닌게 있는지
if(/[^0-9]/.test(s)) return false;
return true;
}
알게 된 것들
Number() 메소드 사용하는 것, 왜 오답인지? (드래그)
Number()는 "0x12"와 같은 문자열을 16진수로 해석하기 때문에 의도한 것과 다르게 작동한다.
'문제 풀이 > Programmers' 카테고리의 다른 글
| [프로그래머스] 42748번: K번째수 (JavaScript) (0) | 2025.07.04 |
|---|---|
| [프로그래머스] 12931번: 자릿수 더하기 (JavaScript) (0) | 2025.07.04 |
| [프로그래머스] 12912번: 두 정수 사이의 합 (JavaScript) (1) | 2025.06.04 |
| [프로그래머스] 12903번: 가운데 글자 가져오기 (JavaScript) (0) | 2025.06.04 |
| [프로그래머스] 12917번: 문자열 내림차순으로 배치하기 (JavaScript) (0) | 2025.06.04 |