Coding/Python 삽질기2007. 9. 28. 02:10
인터넷 서핑 중에 발견한 사이트다.

Python을 통해서 퍼즐을 풀어가면서 실력을 쌓는 사이트다.

단기간에 파이썬 활용도를 확실히 높일수 있는 것 같다.

시간 날때마다 한 문제씩 풀어보면 좋을 것 같은데...

2번 문제부터 막힌다...ㅠㅜ

Python으로도 해보고 Perl로 해봐도 실력향상에 도움이 많이 될 것 같다.

'Coding > Python 삽질기' 카테고리의 다른 글

http://www.pythonchallenge.com...Level1  (1) 2007.09.29
피보나치 수열 문제  (0) 2007.09.16
폴더내의 파일 이름 바꾸기  (0) 2007.03.22
Posted by chobocho
Coding/CPP 삽질기2007. 9. 17. 01:45
// 흐미... 심심해서 해본게 생각보다 시간을 많이 까먹었다.
// TDD는 정말 중요하다.

#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
void process(void);
int main(void)
{
    process();  
    return 0;
}

void process(void)
{
     string alpha = "0123456789";
     int synap = 0;
     int soft = 0;
     int wants = 0;
     int you = 0;
     int result = 0;
     int count = 0;
    
     //'SYNAP + SOFT = WANTS + YOU'
     // 0123456789
     // AFNOPSTUWY
     
     do
     {
           
        if (alpha[5] == '0' || alpha[8] == '0' || alpha[9] == '0')
            continue;
       
        synap = (alpha[5]-'0')*10000 + (alpha[9]-'0')*1000 + (alpha[2]-'0')*100 + (alpha[0]-'0')*10 + (alpha[4]-'0');            
        soft = (alpha[5]-'0')*1000 + (alpha[3]-'0')*100 + (alpha[1]-'0')*10 + (alpha[6]-'0');
        wants = (alpha[8]-'0')*10000 + (alpha[0]-'0')*1000 + (alpha[2]-'0')*100 + (alpha[6]-'0')*10 + (alpha[5]-'0');            
        you = (alpha[9]-'0')*100 + (alpha[3]-'0')*10 + (alpha[7]-'0');
       
        if (synap + soft == wants + you)           
        {
            cout << synap << " + " << soft << " = " << wants << " + " << you << endl;     
            result += wants + you;
            cout << result << endl;
        }
       
     } while (next_permutation(alpha.begin(), alpha.end())  );
    
}

'Coding > CPP 삽질기' 카테고리의 다른 글

연산자 우선 순위  (0) 2008.01.13
비트 연산자  (0) 2007.04.24
별 그려주는 코드  (0) 2006.08.22
Posted by chobocho
Coding/Python 삽질기2007. 9. 16. 14:23

인터넷을 뒤지다가 퍼즐 문제를 발견...

피보나치 수에 대한 문제입니다. 피보나치 수는 아래와 같이 정의됩니다.
f(1) = 1
f(2) = 2
f(3) = f(1) + f(2) = 1 + 2 = 3
f(4) = f(2) + f(3) = 2 + 3 = 5
f(5) = f(3) + f(4) = 3 + 5 = 8
...
f(n) = f(n-2) + f(n-1), n>=3


a와 b라는 두수가 주어져 있을때 두수사이에는 몇개의 피보나치 수가 있을까요?
예를 들어 10과 1
00 사이에는 총 5개(13, 21, 34, 55, 89)의 피보나치 수가 있습니다.

1234567899999987654321 사이에도 몇개의 피보나치 수가 있습니다.
이 구간내의 모든 피보나치수를 더한 값

출처 : http://synap.tistory.com

num1 = 0
num2 = 1
result = 0
sum = 0

while result < 12345678999:
    result = num1 + num2
    num1 = num2
    num2 = result

while result < 99987654321:
    sum += result
    result = num1 + num2
    num1 = num2
    num2 = result

print sum


'Coding > Python 삽질기' 카테고리의 다른 글

http://www.pythonchallenge.com  (0) 2007.09.28
폴더내의 파일 이름 바꾸기  (0) 2007.03.22
스도쿠 제작  (0) 2006.10.22
Posted by chobocho
Coding/CPP 삽질기2007. 4. 24. 00:49

#include <stdio.h>


void process(void);

void showBit(int n);



int main (int argc, char **argv) {

    process();

    return 0;

}


void process(void) {

    int          nSignNumber   = 0xFFFFFFFF;

    unsigned int nUnSignNumber = 0xFFFFFFFF;

    

    printf ("Original :\n%d %u\n", nSignNumber, nUnSignNumber);

    showBit(nSignNumber);

    showBit(nUnSignNumber);

    

    nSignNumber   <<= 1;

    nUnSignNumber <<= 1;

   

    printf ("<< 1 :\n%d %u\n", nSignNumber, nUnSignNumber); 

    printf ("%d %u\n", nSignNumber, nUnSignNumber);

    showBit(nSignNumber);

    showBit(nUnSignNumber);


    nSignNumber   >>= 1;

    nUnSignNumber >>= 1;

    

    printf (">> 1 :\n%d %u\n", nSignNumber, nUnSignNumber); 

    printf ("%d %u\n", nSignNumber, nUnSignNumber);

    showBit(nSignNumber);

    showBit(nUnSignNumber);    

}


void showBit(int n) {

    for (int i = 31; i >= 0; i--) {

        printf ("%d%s", ((n & 1<<i)?1:0), ((i % 4 == 0)?" ":""));

    } 

    printf ("\n");

}



int에 >> 연산자를 적용할 경우, 제일 왼쪽 비트가 그대로 복사 됨

unsigned int인 경우 0으로 채워짐 



Hi-iMac:CPP chobocho$ ./a.out

Original :

-1 4294967295

1111 1111 1111 1111 1111 1111 1111 1111

1111 1111 1111 1111 1111 1111 1111 1111

<< 1 :

-2 4294967294

-2 4294967294

1111 1111 1111 1111 1111 1111 1111 1110

1111 1111 1111 1111 1111 1111 1111 1110

>> 1 :

-1 2147483647

-1 2147483647

1111 1111 1111 1111 1111 1111 1111 1111

0111 1111 1111 1111 1111 1111 1111 1111


'Coding > CPP 삽질기' 카테고리의 다른 글

심심풀이 프로그래밍...2  (0) 2007.09.17
별 그려주는 코드  (0) 2006.08.22
입력 버퍼비우기  (0) 2006.02.23
Posted by chobocho
Coding/Script2007. 4. 4. 01:44

윈도우XP에 포함된 QBASIC

윈도우XP에 포함된 QBASIC

C 를 알기전인 중학교때 열심히 가지고 놀았던 QBASIC이다. GWBASIC에 비해 전용 IDE(?)도 갖추었고, 행번호가 없어도 실행이 되고 함수 지원 등 다양한 변화가 있었다. 비록 컴파일은 지원하지 않았지만, 나름 유용했다. 마이컴이나 PC잡지에 나온 소스를 쳐보고 벽돌깨기나 타자연습등을 만들어 보면서 나름 만족감을 느끼게 해줬던 프로그램이다.
윈도우 95로 넘어오면서 사라진 줄 알았는데, 윈도우 XP에도 여전히 살아있었다.

간만에 QBASIC를 수행해 보니, 예전에 내공이 모자라서 만들고 싶어도 만들지 못했던 프로그램을 다시한번 BASIC으로 짜볼까라는 생각도 해보았다. 그래도 그 시간에 잠이나 자는게 좋을 것 같다. 이미 세상의 많은 시간많고 능력되는 재야 고수들이 짜놓은 좋은 프로그램과 소스들이 넘쳐나고 있으니까.

오랫동안 잊고 있었던 즐거웠던 추억이 떠오르는 화면이다.
항상 느끼지만 취미는 취미로 만족해야지, 일이되면 즐거움이 사라진다.
 

'Coding > Script' 카테고리의 다른 글

[PHP] 서버에 접속한 장치의 IP 얻기  (0) 2011.01.19
홈페이지에 명언을 뿌려주는 코드  (6) 2006.09.18
[PHP]변수값 넘기기  (2) 2006.08.29
Posted by chobocho
Coding/Python 삽질기2007. 3. 22. 02:10
#-*- coding: cp949 -*-
# filename : rename.py

import os
import glob
import stat
import sys

if __name__ == "__main__":

 all_flist = glob.glob ("*.py")
 
 for file in all_flist:
  if os.path.isdir(file):
   pass
 
  command = "ren %s %s_.py" % (file,  file[:-3])
  os.system(command)
  print file

'Coding > Python 삽질기' 카테고리의 다른 글

피보나치 수열 문제  (0) 2007.09.16
스도쿠 제작  (0) 2006.10.22
helloworld.cgi  (0) 2006.10.15
Posted by chobocho
Coding/좋은 사이트2006. 11. 13. 23:35
http://www.masswerk.at/jsuix/

세상에 정말 능력되고 시간 많은 사람은 많은가 보다.

자바스크립트로 만든 vi에뮬과 유닉스 에뮬이다.


'Coding > 좋은 사이트' 카테고리의 다른 글

[UML] Plantuml  (0) 2016.12.27
추천 사이트 모음  (4) 2010.03.16
A4로 간단한 메모장 만들기  (0) 2006.11.04
Posted by chobocho
Coding/좋은 사이트2006. 11. 4. 12:47
요즘 들어 심해지는 건망증 증상에, 메모에 관심이 많이 간다. 그래서 전에 친구가 알려준 사이트에 들어가서 A4용지로 간단히 메모지를 출렸햇다.


위 사이트에를 참고하면 갈끔한 메모장을 만들수 있다.

'Coding > 좋은 사이트' 카테고리의 다른 글

[UML] Plantuml  (0) 2016.12.27
추천 사이트 모음  (4) 2010.03.16
자바 스크립트로 만든 운영체제  (0) 2006.11.13
Posted by chobocho
Coding/Python 삽질기2006. 10. 22. 12:36

파이썬을 배워서 뭘 만들어 볼까 고민하다가 스도쿠를 만들기로고 하고 주말을 이용해,
웹상에서 스도쿠를 즐길수 있게 만들었다. 웹프로그래밍에 익숙하지 않아서 엄청난 삽질을 반복했다...ㅠㅜ
스도쿠를 생성하는 부분에서는 아직 알고리즘이 개선되어야 하는 부분이 많지만, 일단
생성되는 것에 만족한다.
스도쿠를 푸는 부분은 모듈을 웹페이지와 연결해야 하는데, 이건 시간 나면 해야겠다.

http://chobocho.com/home/game/sudoku/index.php

시간나면(?) 천천히 개선 하도록 해야겠다.

'Coding > Python 삽질기' 카테고리의 다른 글

폴더내의 파일 이름 바꾸기  (0) 2007.03.22
helloworld.cgi  (0) 2006.10.15
웹페이지에서 이미지 긁어오기  (0) 2005.05.05
Posted by chobocho
Coding/Python 삽질기2006. 10. 15. 23:54
#!usr/local/bin/python

print "Content-type: text/html\n\n"
print "Hello, World!"


파이썬으로 "Hello, World!"를 출력하는 CGI 이다.

'Coding > Python 삽질기' 카테고리의 다른 글

스도쿠 제작  (0) 2006.10.22
웹페이지에서 이미지 긁어오기  (0) 2005.05.05
이미지 파일을 읽어오는 소스  (0) 2005.05.05
Posted by chobocho