자세한 문제는 아래 링크와 같다.
https://school.programmers.co.kr/learn/courses/30/lessons/12918
처음에 isNaN() 메서드를 사용했었는데, 이걸로 숫자로만 이뤄져 있는지 확인하면 소수점이 달린 수 또한 숫자로 보아 소수점 포함 6개의 자리수가 있으면 숫자로 보게 된다. 예를 들어 4.4412 도 . 을 포함해 6개의 문제로 이뤄져 있으니 결국 true를 리턴하게 된다. 이 문제를 해결하기 위해 구글링 해보았다.
우여곡절 끝에 인터넷에서 찾은 코드는 아래와 같다. 자세한 내용은 주석 달았으니 참고 바란다.
function solution(s) {
answer = (s.length===4 || s.length===6) && /^[0-9]*$/.test(s);
// 이렇게 삼항연산자에서도 || 또는 && 중 먼 수행할 연산자를 정하기 위 소괄호를 쓸 수 있다.
// /^[0-9]*$/.test(s) 부분의 코는 chat gpt를 참조할 것.
// 문자열 s 안에 0 ~ 9까지의 숫자가 0개 이상 존재하는지 여부를 test해 준다. 숫자가 없거나, 다른 형태의 문자가 오면 false 를 리턴한다.
console.log(answer)
return answer
}
s= '555b'
solution(s)
'알고리즘 코딩' 카테고리의 다른 글
자연수가 몇 번째 콜라프 작업에서 1이 되는지 파악하는 알고리즘 (0) | 2023.04.17 |
---|---|
단어별로 짝수번째 index의 문자만 대문자로 만들기 알고리즘 (2) | 2023.04.16 |
배열 2개의 내적 구하는 알고리즘 feat. reduce(acc, _, i) (0) | 2023.04.16 |
나누어 떨어지는 숫자들로만 배열을 만드는 알고리즘 (0) | 2023.04.15 |
배열의 모든 요소의 값의 평균을 구하는 알고리즘 (0) | 2023.04.15 |