AtCoder의 속도가 너무 높아서 깨지기 때문에 CLI 도구를 만들었습니다.

작년 7 월부터 Bochibochi와 AtCoder 대회에 참가했습니다.
차와 초록 사이를 왔다 갔다가 깨끗했기 때문에 내가 생각한 가장 강한 AtCoder CLI 도구를 만들었습니다.

이것을 이용하는 것으로 아래의 데모와 같이 슈와 코드를 써, 슈와 테스트해, 슈와 제출하는 것이 가능합니다.

아직 실천에서 테스트되지 않았고 지원하는 언어도 많지 않으므로 사용해 보면 뭔가 문제가 있었을 경우는 GitHub에서 Issue나 Pull Request를 받을 수 있으면 기쁩니다.

데모





특징


  • 설치가 용이
  • Docker를 사용하여 테스트 실행 환경을 쉽게 구축
  • 템플릿 기능
  • 샘플 데이터 다운로드
  • 샘플 데이터를 사용한 테스트 기능 (Docker 또는 로컬)
  • 코드 제출 기능

  • 설치 방법



    Mac 사용자는 Homebrew에서 설치할 수 있습니다.
    $ brew install sachaos/tap/ac-deck
    

    Linux, Windows는 GitHub에 바이너리를 두고 있으므로 그곳을 이용하십시오.

    사용법



    설정


    $ acd config
    

    자격 증명을 입력합니다.

    주: 현재, ~/.ac-deck.toml 에 패스워드등을 그대로 넣습니다. 이 행동을 이해하고 신중하게 사용하십시오. 이 행동을 수정하는 데 관심이 있다면 기대해주세요!

    콘테스트 참가 준비


    $ acd abc150 prepare
    Using template of python3
    Generating testdata & source on abc150/abc150_a
    Generating testdata & source on abc150/abc150_b
    Generating testdata & source on abc150/abc150_c
    Generating testdata & source on abc150/abc150_d
    Generating testdata & source on abc150/abc150_e
    Generating testdata & source on abc150/abc150_f
    

    abc150 문제 각 디렉토리를 만듭니다.
    각 디렉토리에는 다음 파일이 생성됩니다.
  • main.py : 템플릿에서 생성 된 소스 파일
  • testdata.yaml : 샘플 입력, 출력 데이터
  • .task.yaml : ac-deck 용 구성 파일

  • 문제를 브라우저에서 열기


    $ acd ./abc150/abc150_a browse
    

    소스 편집


    $ acd ./abc150/abc150_a edit
    
    $EDITOR 환경 변수에 지정된 편집기를 사용하여 소스 파일을 엽니다.

    테스트 실행



    테스트를 Docker 또는 로컬에서 실행할 수 있습니다.
    Docker는 필수는 아니지만 강력히 권장합니다.
    Docker가 설치되어 있지 않으면 로컬에서 테스트 실행을 시도합니다.
    $ acd ./abc150/abc150_a test
    Running test on Container mode
    
    Case 1: AC
    
    Case 2: AC
    
    Case 3: AC
    

    미리 테스트 실행 환경(Docker image)을 다음과 같이 설치할 수 있습니다.
    $ acd install python3
    

    테스트 케이스를 추가하려면 testdata.yaml를 편집하여 추가 할 수 있습니다.

    코드 제출


    $ acd ./abc150/abc150_a submit
    

    테스트를 건너뛰려면 --skip-test 옵션을 지정하십시오.
    $ acd ./abc150/abc150_a submit --skip-test
    

    대응할 수 없는 것


  • C++ boost 및 Python scipy, numpy 라이브러리
  • 사용자 고유의 템플릿을 사용하는 기능
  • 다양한 언어 지원

  • 요약



    내가 생각한 최강의 AtCoder 툴을 소개했습니다.
    만약 좋으면 사용해 주시면 기쁩니다.

    좋은 웹페이지 즐겨찾기