블로그

[프로그래머스, 자바스크립트] 알고리즘-4 문자열을 정수로 바꾸기 본문

알고리즘

[프로그래머스, 자바스크립트] 알고리즘-4 문자열을 정수로 바꾸기

wooluck 2019. 11. 8. 12:10

출처 : 프로그래머스 알고리즘 코딩테스트 Level.1

https://programmers.co.kr/learn/courses/30/lessons/12925?language=javascript

문제
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.

제한 조건

1. s의 길이는 1 이상 5이하입니다.
2. s의 맨앞에는 부호(+, -)가 올 수 있습니다.
3. s는 부호와 숫자로만 이루어져있습니다.
4. s는 0으로 시작하지 않습니다.

입출력 예
   s     |  return
'1234'  |  1234
'-3333' | -3333

풀이 과정

1. 입력받은 문자열을 Number로 반환한다.

 

답안

function solution(s) {
    return Number(s);
}

처음에 문제 하단 부의 예시 문장을 읽지않고 유효성 검사를 했다.

정규표현식을 넣고 테스트를 하고 제출하려하니 아래의 문구가 눈에 들어왔다.

예를들어 str이 1234이면 1234를 반환하고, -1234이면 -1234를 반환하면 됩니다.
str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.

이후 부랴부랴 유효성 검사 코드를 삭제하고 위의 코드로 제출하였으나 이전의 코드도 그냥 보관하려 한다.

이전의 코드는 아래와 같다.

function solution(s) {
    const regExp = /[a-zA-Z!@#$%^&*()=\|]/gi;
    if(regExp.test(s) || s.length < 1 || s.length > 5) { return false; }
    return Number(s);
}

 

이번 문제는 정말 단순한 문제인데 풀이가 나뉠까 라고 생각이 들어 다른 사람의 풀이를 보게 되었는데

return +s, return s/1 같은 간결한 답안을 보고 감탄을 금치 못했다.

Comments