Notice
Recent Posts
Recent Comments
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 |
Tags
- ECMAScript6
- ECMAScript2015
- 식물키우기
- react
- styled-components
- Javascript
- string
- 애플
- 자바
- 운영체제
- 정규표현식
- LeetCode
- c++
- Algorithm
- 알고리즘
- 반응형 웹
- codewars
- ES6
- db
- 자바스크립트
- git
- 맛집
- java
- binary
- 컴퓨터
- 데이터베이스
- 배포
- 리액트
- 아이폰
- 기억장치
Archives
- Today
- Total
에브리 저장소
[Codewars - 7 kyu] Ones and Zeros 본문
이 문제는 배열로 표현된 2진수를 10진수로 변환하는 문제입니다.
Testing: [0, 0, 0, 1] ==> 1
Testing: [0, 0, 1, 0] ==> 2
Testing: [0, 1, 0, 1] ==> 5
Testing: [1, 0, 0, 1] ==> 9
Testing: [0, 0, 1, 0] ==> 2
Testing: [0, 1, 1, 0] ==> 6
Testing: [1, 1, 1, 1] ==> 15
Testing: [1, 0, 1, 1] ==> 11
문자열 이진수를 십진수로 변환하는 방법
자바스크립트에는 문자열을 숫자로 바꿔주는 메서드인 parseInt가 존재합니다. parseInt에 인자로 숫자로 변환할 문자열과 radix를 적어, 몇 진수로 표현되어 있는지 알려주면 변환하여 정수로 반환해 줍니다.
parseInt(string, radix);
radix는 2와 36 사이의 진수(수의 진법 체계에 기준이 되는 값)입니다.
이를 활용하여 간단하게 문제를 풀 수 있습니다.
해답 코드를 확인하려면 더보기를 눌러주세요.
더보기
const binaryArrayToNumber = arr => parseInt(arr.reduce((acc, cur) => acc + cur, ''), 2);
저는 reduce를 사용하여 배열의 인자를 문자열로 합쳐주었는데, 간단하게 join('')을 사용하면 동일하게 해결 가능합니다.
const binaryArrayToNumber = arr => parseInt(arr.join(''), 2);
참고
'자료구조 · 알고리즘' 카테고리의 다른 글
[Codewars - 7 kyu] Regex validate PIN code (0) | 2020.01.16 |
---|---|
[Codewars - 7 kyu] Mumbling (0) | 2020.01.15 |
[Leetcode - String] Longest substring without repeating characters 풀이 (0) | 2019.11.10 |
[Leetcode - Binary] Sum of two integers 풀이 (0) | 2019.11.09 |
[C++] char형 데이터 int형으로 변환하기 (0) | 2019.04.30 |
Comments