희락코딩

프로그래머스 1단계 - 문자열 다루기 기본 본문

프로그래밍/코드 문제 풀이

프로그래머스 1단계 - 문자열 다루기 기본

Hello JoyCoding 2021. 7. 1. 22:21
728x90
반응형

#문제

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.

 

#제한 사항

s는 길이 1 이상, 길이 8 이하인 문자열입니다

 

#입출력예시

s return
"a234" false
"1234" true

 


# 문제 풀이 및 코드작성

처음 문제를 보자마자 isNaN 함수를 사용해서 해결하면 되겠구나 하면서 1초컷으로 풀었습니다! 테스트케이스는 통과 했지만 최종 제출에서 몇몇이 통과가 안되었습니다. 그래서 두번째 풀이로 +연산자를 활용해서 숫자 판별을 해서 진행했는데 세부케이스 11번에서 막혔습니다....

 

정규표현식으로 풀면 쉽게 해결할수 있지만 오기가 생겨서 11번케이스가 무엇인지 질문을 통해서 알게 되었습니다! 11번 케이스는 소수가아닌 정수로 나타내야 된다는 정보를 알게 되었습니다!

 

1
2
3
4
5
6
7
8
9
// 풀이1
function solution(s) {
   return !isNaN(s)
}
 
// 풀이2
function solution(s) {
   return +s ? s.length === 4 || s.length === 6 : false
}
 
cs

 

그래서 아래와 같이 parseInt()를 사용해서 어떤 임이의 문자열이 +s를 통해서 정수일때 라고 표현하였더니 통과가 되었습니다! 자바스크립트 언어란.... 참.... 그래도 해결해서 뿌듯

 

1
2
3
function solution(s) {
   return +=== parseInt(s) ? s.length === 4 || s.length === 6 : false
}
 
cs

 

 

728x90
반응형
Comments