아래 코드는 10진수를 2진수 값으로 받았을때, 분리할 수 있는 기능을 JavaScript로 구현해본 코드다.
10진수를 2진수로 변환하면, 2진수 각각의 구성 숫자들(1과 0의 집함)을 배열의 값으로 추가한 다음에 단위 2진수(2의 제곱값)를 뽑아주는 형태다.
단위 2진수는 1, 2, 4, 8, 16 등과 같은 2의 제곱값으로, 리눅스의 퍼미션 설정시에 쓰이는 값을 생각하면 이해가 더 빠를 수 있다. ^^
var arr = new Array("1","0","1","0","0","1","1","1","1");
for(var i=0; i<arr.length; i++){
if (arr[i] == 1){
var n = arr[i];
for(var j=0; j<arr.length-i-1; j++) {
n = n+'0'
}
document.writeln(n+"<br>");
}
}
위 코드는 10진수 335를 2진수로 변환해서 배열의 값으로 넣어준 것이고, 코드의 결과로 출력되는 값은
256
64
8
4
2
1
이 된다.
이것보다 뛰어나고 스마트한 방법도 많이 있겠지만, 당장 내 머리에서 나온 것은 이게 전부이고, 다음에 더 좋은 방법이 있는지 생각해봐야겠다.
이 문제를 풀면서 느낀 점은 역시나 기본이 부족하다는 것이다.
아마도 내가 기초적인 알고리즘이나, 자료 구조에 대해 더 잘 알고 있었다면 문제를 쉽게 풀고, 더 좋은 방법을 생각했을지도 모른다는 생각이 든다.
지금보다 더 열심히 기초 공부하자. ^^;;;
◀ PREV :
[1] : ... [79] : [80] : [81] : [82] : [83] : [84] : [85] : [86] : [87] : ... [387] :
NEXT ▶


