[프로그래머스] 문자열 다루기 기본
카테고리 : 컴퓨터 공학
태그: programmers · Code Refactoring · 참고 할 만한 다른 사람의 코드 · 코딩 기초 트레이닝 · 프로그래머스 Lv.1 · 코딩테스트 연습 · JavaScript · 문자열 다루기 기본 · js 문자열 다루기 기본
태그: programmers · Code Refactoring · 참고 할 만한 다른 사람의 코드 · 코딩 기초 트레이닝 · 프로그래머스 Lv.1 · 코딩테스트 연습 · JavaScript · 문자열 다루기 기본 · js 문자열 다루기 기본
문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 “a234”이면 False를 리턴하고 “1234”라면 True를 리턴하면 됩니다.
제한사항
s
는 길이 1 이상, 길이 8 이하인 문자열입니다.s
는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
입출력 예
s | return |
---|---|
“a234” | false |
“1234” | true |
입출력 예 설명
입출력 예 #1
- -
입출력 예 #2
- -
나의 풀이
function solution(s) {
if (s.length !== 4 && s.length !== 6) {
return false;
}
for (i = 0; i < s.length; i++) {
if (isNaN(s[i])) {
return false;
}
}
return true;
}
// 한 20번 이상 트라이해서 테스트 통과.
// 왜 삽질했냐를 보면 나는 s 전체의 문자열 테스트를 Number로 판별해서 반환하려고했다
// 원인: 테스트 11번에서 계속 막힘 => 다 풀고 나서 알았지만 "5e3"같은 숫자가 들어가면 "5x1000" 진법 변환이된다
// 결론: Number에서의 'e'는 지수표기법으로 들어갔고 나는 지수 표기법을 간과함
// 1. 첫번째로 문자열 길이가 4와 6이 아닌 건 false로 반환
// 2. 원인을 처음에 몰라서 s의 문자열을 하나씩 쪼개서 false값으로 반환했다