아래 코드는 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
이 된다.


이것보다 뛰어나고 스마트한 방법도 많이 있겠지만, 당장 내 머리에서 나온 것은 이게 전부이고, 다음에 더 좋은 방법이 있는지 생각해봐야겠다.

이 문제를 풀면서 느낀 점은 역시나 기본이 부족하다는 것이다.
아마도 내가 기초적인 알고리즘이나, 자료 구조에 대해 더 잘 알고 있었다면 문제를 쉽게 풀고, 더 좋은 방법을 생각했을지도 모른다는 생각이 든다.

지금보다 더 열심히 기초 공부하자. ^^;;;

이올린에 북마크하기(0) 이올린에 추천하기(0)

트랙백 보낼 주소 :: http://coolsoo.net/blog/uni1978/trackback/1173598876

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

  1. 2007/11/15 19:40
    댓글 주소 수정/삭제 댓글
    자료구조나 알고리즘을 배웠다고 해서 꼭 좋은 프로그래밍이 나오는 것은 아니지..^^:;

    좀 더 효과적인 프로그래밍을 하고 탐색 시간을 줄이는 효과야 있겠지만...

    컴퓨터 공학을 전공했으면서도 프로그래밍에서 손을 놓은지 너무 오래 되서..^^;;

    알고리즘과 자료구조는 재미있는 것인데.. 난 공부할 때 재미 보다는 힘들었거든..6^:;

    하여튼 하루 하루 화이팅이다. ^^;;
    • 2007/11/18 17:20
      댓글 주소 수정/삭제
      내 말이.. ㅋㅋㅋ
      좋은 프로그램을 위한 것보다는 좀 더 효율적으로 할 수 있지 않을까해서 말야. -.-;;;

      나중에 경민이한테 모르는거 물어봐야겠다. ㅎㅎ
      ^___^
[로그인][오픈아이디란?]

◀ PREV : [1] : ... [79] : [80] : [81] : [82] : [83] : [84] : [85] : [86] : [87] : ... [387] : NEXT ▶

BLOG main image
열정은 동사다. by 無聲呼人

카테고리

All that my life (387)
Notice (3)
Monologue (215)
책, 영화 그리고 음악 (15)
내가 보는 세상 (22)
I like computer (110)
WishList (9)

글 보관함

달력

«   2009/01   »
        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
Statistics Graph