Notice
Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- CSS속성정리
- HTML기초
- JS null undefined
- JS 삼항연산
- JS 화살표함수
- js 변수
- JS clearInterval
- JS redirection
- JS 함수
- JS 연산
- JS 기초
- CSS기초
- JS setTimeout
- JS form action
- JS 스코프
- JS form
- JS preventDefault
- JS appendChild
- JS 데이터타입
- JS append
- git 협업셋팅
- JS typeof연산자
- JS 숫자
- JS localStorage
- JS 타이머기능
- JS 형변환
- JS value속성
- JS prompt
- JS classList
- JS setInterval
Archives
공부기록용
프로그래머스(LV 1. 문자열을 정수로 바꾸기) 본문
LV 1. 문자열을 정수로 바꾸기
https://school.programmers.co.kr/learn/courses/30/lessons/12925
문제 설명
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
제한 조건- s의 길이는 1 이상 5이하입니다.
- s의 맨앞에는 부호(+, -)가 올 수 있습니다.
- s는 부호와 숫자로만 이루어져있습니다.
- s는 "0"으로 시작하지 않습니다.
- 예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다.
- str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.
이건 문자열을 숫자로 반환하는 함들을 좀 찾아보았다.
많이 사용하는건 Number() 함수, parseInt(), parseFloat() 등등이 있는데 문제는 -음수가 있다는 점 이었다.
그래서 찾고 사용한 방법은
🔴배운거
> 비트 부정 연산자(~)를 이용해 문자열을 숫자로 변환하는 방법이었는데,
> 하나의 비트 부정 연산자(~)를 숫자에 사용하면 -(x + 1) 연산을 실행하는것이고,
console.log(~19); // -20
> 두 개의 비트 부정 연산자(~~)를 사용하면 문자열을 숫자로 변환한다는 것이었다.
const quantity = "19"; console.log(~~quantity); // 19
> 단 실수에서는 적용되지 않는다고한다(결과값으로 반영하기 때문)
const quantity = "19.99"; console.log(~~quantity); // 19
이게 맞는 방법인지는 잘 모르겠어서 다시 봐야할 것 같다.
<해결1>function solution(s) { var answer = 0; answer = ~~s return answer; } console.log(solution("-1234")) // -1234
이었는데 뭔가 찜찜하긴 해서 이 부분을 정리해봐야 할 것 같다.
참고 - https://www.freecodecamp.org/korean/news/how-to-convert-a-string-to-a-number-in-javascript/
<해결2>
> Number( )사용function solution(s) { var answer = 0; answer = Number(s) return answer; } console.log(solution("-1234"))
'✍️문제풀기✍️ > JS_Programmers school' 카테고리의 다른 글
프로그래머스(LV 1. x만큼 간격이 있는 n개의 숫자) (0) | 2023.06.17 |
---|---|
프로그래머스(LV 1. 없는 숫자 더하기) (0) | 2023.06.16 |
프로그래머스(LV 1. 두 정수 사이의 합) (0) | 2023.06.16 |
프로그래머스(LV 1. 가운데 글자 가져오기) (0) | 2023.06.16 |
프로그래머스(LV 1. 짝수와 홀수) (0) | 2023.06.16 |
Comments