티스토리 뷰
728x90
반응형
오늘은 프로그래머스의 문자열 다루기 기본을 풀이과정을 적어보려고 한다.
프로그래머스는 난이도 조절이 너무 애매한 것 같다...
1. 문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
2. 제한 사항
- s는 길이 1 이상, 길이 8 이하의 문자열입니다.
3. 입출력 예
s | return |
"a234" | false |
"1234" | true |
4. solution.js
function solution(s) {
var answer = false;
let temp = Number(s);
if((s.length == 4 || s.length == 6) && temp == parseInt(s)){
answer = true;
}else{
answer = false;
}
return answer;
}
사실 처음에는 이렇게 하였다.
function solution(s) {
var answer - treu;
if(s.length == 4 || s.length == 6) {
if(isNaN(s) == true) {
answer = false;
}
}
return answer;
}
isNaN이라는 함수로 문자열인지 숫자인지를 판별하는 것이다.
그래서 이거면 될 줄 알았다. 그리고 코드 실행 시 완료되었지만 제출 후 채점하기에서 오류가 발생하였다.
그렇다고 정확도가 문제는 아니였다.
function solution(s) {
var answer - treu;
if(s.length === 4 || s.length === 6) {
if(isNaN(s) == true) {
answer = false;
}
}
return answer;
}
그리고 if문을 살짝 수정하였다. 4 혹은 6의 길이가 안되었을 때 false값을 넣도록 추가하였다.
function solution(s) {
var answer - treu;
if(s.length === 4 || s.length === 6) {
if(isNaN(s) == true) {
answer = false;
}
}else {
alnswer = false;
}
return answer;
}
이렇게 했더니 딱 한 개가 문제가 발생하였다. 테스트 11번...
이유를 찾아보았다. 여기서 생기는 문제점은 지수 형식을 넣었을 경우 문제가 발생한다고 한다.
지수함수 = 거듭제곱 이 부분이 문제라는 것인데... 아직까지는 이해가 좀 어려웠다.
그래서 다른 함수를 찾아보았다. isNaN을 대신할 방법으로 그래서 찾았다.
사실 엄청 쉬워 보였지만, 생각보다 쉽지 않은 코드였다. 아직은 지수함수, 정규식 표현이 낯선 필자에게는
다음에 다시 한번 공부해야 할 코테로 자리 잡게 되었다.
이상 여기까지 프로그래머스 코딩 테스트를 마치도록 하겠다.
728x90
반응형
'ETC > Coding Test' 카테고리의 다른 글
programmers : 코딩테스트 연습 > 연습문제 > 같은 숫자는 싫어 (0) | 2021.04.30 |
---|---|
programmers : 코딩테스트 연습 > 연습 문제 > 약수의 합 (0) | 2021.02.17 |
programmers : 코딩 테스트 연습 > 연습문제 > 124 나라의 숫자 (0) | 2021.02.13 |
지그재그 응용편 (0) | 2020.12.05 |
코테 : 주변에서 잘 나온다는 지그재그 코딩테스트 (0) | 2020.12.03 |
댓글
250x250
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 코딩테스트
- javascript
- node.js
- 리액트
- 리액트 유튜브
- github
- Coding Test
- Visual Studio Code
- Git
- 리액트 썸네일
- Switch
- 자바스크립트
- 함수
- react
- mongodb
- 파이썬
- 배열
- 자바
- CSS
- 리덕스
- array
- 재공부
- 프로그래머스
- 노드
- 뷰
- node-sass
- node
- redux
- programmers
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함