코딩 테스트/Programmers - 1

[JS] 문자열 정수로 만들기

hayeonn 2022. 8. 28. 22:15
반응형

[내가 푼 풀이]

function solution(s) {
    if(!s.includes('-')){
        s = Math.floor(Math.random() * 10000);
        return Number(s);
    } else {
        s = Math.floor(Math.random() * s.length);
        return Number(s);
    }
}

그냥.. 바보다.. 너무 어렵게 생각했다..

1. 부호를 포함했는지 안했는지에 따라서 이것저것 해보려고 했는데 어처피 "-1234"를 숫자형으로 변환하면 부호에 상관없이 그냥 -1234가 반환된다.

2. Math.random을 사용하면 정해진 값이 아닌 계속 변하는 값이 반환됨

+[리더님의 조언]

코딩테스트의 문제에서 Math.random은 거의 쓸 일이 없음

입력값과 결과값이 보통 주어지기 때문에 랜덤으로 값을 뽑아하는 경우 거의 없음!

 

[풀이]

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

단순하게 Number(s) 하면 됐던 것.

 

[다른 풀이 추가]

function solution(s){
  return s/1
  }

function solution(s){
  return  +s;
}

문자열을 숫자 연산자와 함께 사용하면 자바스크립트가 계산을 하기위해 자동으로 문자열을 숫자로 바꿔줌 (같은 결과값 도출)