코딩기록

항해 6일)JS - 5프로그래머스 문자열을 정수로 바꾸기 본문

항해99/챕터2 알고리즘

항해 6일)JS - 5프로그래머스 문자열을 정수로 바꾸기

뽀짝코딩 2022. 1. 15. 13:47
728x90

문제 설명

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

제한 조건
  • s의 길이는 1 이상 5이하입니다.
  • s의 맨앞에는 부호(+, -)가 올 수 있습니다.
  • s는 부호와 숫자로만 이루어져있습니다.
  • s는 "0"으로 시작하지 않습니다.
입출력 예

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


 

답안

*JS에서는 문자열과 숫자열의 사칙연산을 숫자로 만들어 줌.

*문자열 앞에 + 연산자를 붙이면 숫자로 형변환이 됨.

 

1번

*문자열 앞에 + 연산자를 붙이면 숫자로 형변환이 됨.

function solution(s) {
    return s/1
    // return s*1
    // return +s
}

s를 사칙연산을 사용하면 부호가 자동적으로 파싱.

 

 

2번

parseInt(정수 문자열)   

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

 

3번 

Number(문자열): 생성자 함수 사용

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

 

4번

function solution(s) { 
	var answer = eval(s); 
    return answer; 
}

eval()메소드는 문자열로 이루어진 연산을 처리해주는 함수이다.

ex) eval("2*3+1") 을 하면 7을 반환해준다.





 

 

 

 

※알아야할것※

1. parseInt() Number()   문자열을 숫자로 변환하는 함수

 

2. eval() eval()은 문자로 표현된 JavaScript 코드를 실행하는 함수.

모질라에 들어가 eval()을 검색하면 가장먼저 보이는 문구이다. 굉장히 흥미롭다. 자세한 사항은 아래 참고 링크를 통해 알수있다.

아래에  자바스크립트는 연산식을 알아서 계산하니 eval()을 호출하지 말라고 쓰여있다.

 

 

 

 

 

 

참고

[프론트 개발자들을 위한 티스토리]

https://ghost4551.tistory.com/87

 

 

-eval-

* JSON파싱 eval vs JSON.parse

https://goddaehee.tistory.com/36

* Mozi//a 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/eval

 

 

반응형
Comments