반응형
오늘은 문자열 다루기 기본을 풀어보겠습니다.
문제는 다음과 같습니다.
https://programmers.co.kr/learn/courses/30/lessons/12918
풀기 전 지식
이 문제를 풀기 전 isNaN이라는 함수를 공부하였습니다.
isNaN이란 is not a number의 줄임말로, 숫자가 맞는지 아닌지를 판단하는 함수입니다.
isNaN(3) // false
isNaN(1e22) // false
풀이 방법
isNaN으로 풀려고 했지만 풀 수 없음을 꺠달았습니다.
위의 예시에서 1e22를 보실 수 있는데 길이가 4이면서 문자입니다. 하지만 e라는 문자가 있음에도 숫자로 인식하기 때문에 원하지 않는 결과가 발생하게 됩니다.
결국 저는 길이 조건과 숫자를 판단하는 로직을 따로 분리하여 구현하였습니다.
소스 코드
function solution(s) {
if(s.length !== 4 && s.length !== 6) return false;
console.log(isNaN(1e22));
for(let i=0; i<s.length; i++){
if(s[i] >= '0' && s[i] <= '9')continue;
else return false;
}
return true;
}
반응형
'알고리즘' 카테고리의 다른 글
문자열 내림차순으로 배치하기 - 프로그래머스 level1(JavaScript) (0) | 2021.07.10 |
---|---|
서울에서 김서방 찾기 - 프로그래머스 level1(JavaScript) (0) | 2021.07.08 |
행렬의 덧셈 - 프로그래머스 level1(JavaScript) (0) | 2021.07.06 |
이상한 문자 만들기 - 프로그래머스 level1(JavaScript) (0) | 2021.07.04 |
시저 암호 - 프로그래머스 level1 (0) | 2021.07.01 |