#AIL_23.11.13 // Programmers_문자열 정수로 바꾸기
## AIL_문자열 정수로 바꾸기
***문제 설명
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
***제한 조건
s의 길이는 1 이상 5이하입니다.s의 맨앞에는 부호(+, -)가 올 수 있습니다.s는 부호와 숫자로만 이루어져있습니다.s는 "0"으로 시작하지 않습니다.
***입출력 예
예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다.
str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.
## solution.JavaScript
1. 문제의 접근 방식
주어진 문제는 문자열을 정수로 변환하는 함수를 작성하는 것입니다. 이 문제의 핵심은 `Number()` 함수를 사용하여 문자열 `s`를 숫자로 변환하는 것입니다. JavaScript에서는 문자열이 숫자로 시작하면 알아서 숫자로 변환해주기 때문에 부호가 있는 경우도 잘 처리됩니다. 예를 들어, `"1234"` 는 `1234`로 변환되고, `"-1234"`는 `-1234`로 변환됩니다.
2. 문제풀이
function solution(s) {
var answer = 0;
answer = Number(s)
return answer;
}
/*
테스트 1
입력값 〉 "1234"
기댓값 〉 1234
실행 결과 〉 테스트를 통과하였습니다.
테스트 2
입력값 〉 "-1234"
기댓값 〉 -1234
실행 결과 〉 테스트를 통과하였습니다.
*/
// Number()대신 parseInt()도 사용가능
1. `Number()` 함수를 사용하여 문자열 `s`를 숫자로 변환합니다.
2. 변환된 숫자를 `answer` 변수에 할당합니다.
3. 최종적으로 변환된 숫자를 반환합니다.
3. 다른사람의 문제풀이 및 접근방식 분석
function solution(s) {
var answer = 0;
return s/1;
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log(strToInt("-1234"));
/*
테스트 1
입력값 〉 "1234"
기댓값 〉 1234
실행 결과 〉 테스트를 통과하였습니다.
테스트 2
입력값 〉 "-1234"
기댓값 〉 -1234
실행 결과 〉 테스트를 통과하였습니다.
*/
???????????????????????!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
동적 언어에 핵심을 찌르는 색다른 풀이입니다.
1. `s/1`: 여기 부분이 `s`를 숫자로 변환하는 핵심 부분입니다.
2. JavaScript에서는 숫자와 문자열 간의 나눗셈 연산을 수행하면 자동으로 문자열이 숫자로 변환됩니다. 따라서 `s/1`은 `s`를 숫자로 변환한 결과를 반환하게 됩니다.
위의 풀이는 간결하지만, 몇 가지 주의할 점이 있습니다. 부호(+,-)가 있는 문자열에 대해서도 잘 동작하지만, 부호가 없는 문자열의 경우에도 숫자로 변환됩니다. 또한 입력이 숫자로 시작하지 않거나 숫자 이외의 문자를 포함하고 있는 경우에는 NaN(Not a Number)이 반환됩니다. 따라서 이 풀이는 순수한 숫자로 이루어진 문자열에 대해서만 적용하는 것이 좋습니다.