-
#AIL_23.11.13 // Programmers_문자열 정수로 바꾸기AIL( Algorithm I Learned) 2023. 11. 13. 22:13
## 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)이 반환됩니다. 따라서 이 풀이는 순수한 숫자로 이루어진 문자열에 대해서만 적용하는 것이 좋습니다.
# 자바스크립트는 여전히 신기한 동적 언어이다.
그리고 세상은 넓고 천재는 많다........
'AIL( Algorithm I Learned)' 카테고리의 다른 글
#AIL_23.11.15 // Programmers_서울에서 김서방 찾기 (0) 2023.11.15 #AIL_23.11.14 // Programmers_정수 내림차순으로 배치하기 (1) 2023.11.14 #AIL_23.11.10 // Programmers_자연수 뒤집어 배열로 만들기 (0) 2023.11.10 #AIL_23.11.09 // Programmers_중앙값 구하기 (3) 2023.11.09 #AIL_23.11.07 // Programmers_문자 반복 출력하기 (0) 2023.11.07