Giter VIP home page Giter VIP logo

spoqa-pycon-2016-obfuscation-contest's Introduction

스포카 코드 난독화 컨테스트 2016

안녕하세요. 스포카 코드 난독화 컨테스트 2016에 참여해 주셔서 감사합니다. 스포카 코드 난독화 컨테스트 2016은 스포카에서 PyCon APAC 2016를 위해 준비한 코딩 이벤트입니다.

문제

계산기 프로그램을 작성하세요. 프로그램은 아래의 조건들을 만족하여야 합니다.

  • 프로그램 파일 명은 calc.py 로 설정합니다.
  • 커맨드 라인의 인자를 통해 입력을 전달하고 계산 결과가 출력되어야 합니다.
  • 사칙연산이 지원되어야 합니다.
    • 연산자 우선순위는 일반적인 사칙연산의 규칙을 따릅니다. 곱셈과 나눗셈이 우선으로 평가되어야 하며, 같은 우선 순위 내의 연산은 순서대로 평가되어야 합니다.
  • 괄호로 연산의 우선순위를 지정할 수 있어야 합니다.
  • 소수점 연산이 지원되어야 합니다. 나눗셈 결과가 떨어지지 않는 경우에는 결과가 실수로 출력되어야 합니다.
    • 소수점 아래가 있는 경우에는 최소 3자리 이상 출력되어야 합니다.
  • 잘못된 식이 입력되면 0이 아닌 값이 반환값으로 설정되고 프로그램이 종료되어야 합니다. 에러 메시지를 출력하는 것은 자유입니다.

예시

$ python calc.py "1+1"
2
$ python calc.py "10 - 2 * 4"
2
$ python calc.py "10 / 3"
3.3333333333333335
$ python calc.py "-4 - 3"
-7
$ python calc.py "(10 + 42 / 6) * 3"
51
$ python calc.py "+1.5 * 3"
4.5
$ python calc.py "answer to the ultimate question of life, the universe, and everything"
$ echo $?
42

채점 기준 및 규칙

  1. 해당 문제의 코드를 최대한 독창적인 방법으로 작성해 주세요. 코드가 해석하기 어려운 형태여도 좋습니다.
    • 문제 자체는 제출을 위한 최소 조건이며, 얼마나 독창적인 방법으로 코드를 작성했는가가 주된 평가 기준입니다.
    • 파이썬 언어에 대한 이해도 또한 주요 평가 기준입니다.
    • 따라서 채점은 전적으로 평가자의 주관적인 판단에 근거합니다. 자세한 평가 기준은 수상작 발표 때 공개하도록 하겠습니다.
    • 난독화의 실제 사례가 궁금하다면 Python으로 작성된 Hello world 프로그램을 참고해 주세요. 꼭 이 코드와 똑같은 형태가 되어야 할 필요는 없습니다.
  2. 이 GitHub 저장소를 fork하여 코드를 작성해 주세요. 그리고 pull request로 코드를 제출해 주시면 됩니다.
    • Pull request를 올리면 자동으로 기본적인 동작을 테스트합니다. 테스트를 통과하지 못한 코드는 제출하실 수 없습니다.
    • Pull request에 달린 리액션 수 또한 평가에 반영됩니다.
  3. 코드는 파이썬 3.5 이상에서 동작해야 합니다.
  4. 외부 모듈을 사용하지 마세요. 표준 라이브러리만 사용해서 작성되어야 합니다.
  5. 제출 기한은 8월 15일 오후 5시까지입니다.

상품 및 수상작 발표

대상 수상자에게는 아이패드 미니 2가 증정됩니다. 이외 다양한 부문에서 수상작이 선정될 예정이며, 모든 수상자에게는 소정의 상품을 드립니다.

행사 참여는 누구나 가능하지만 수상자는 PyCon APAC 2016 참가자로 제한합니다.

수상작 목록은 2016년 8월 31일 스포카 기술 블로그에서 공개됩니다.

spoqa-pycon-2016-obfuscation-contest's People

Contributors

kimdwkimdw avatar kroisse avatar yjroot avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.