AtCoder 테스트 케이스를 JupyterNotebook에서 쉽게 입력하고 실행하는 방법
소개
여러분, Atcoder하고 있습니까? ?
나도 재미있을 것 같다! 라고 생각해 Python으로 처음 보았습니다.
그냥 콘테스트에서 코드를 작성할 때
콘테스트 사이트의 코드 테스트는 페이지의 이동이 귀찮고・・・
PyCharm은 부담없이・・・라고 하는 것은 조금 무겁고・・・
라는, 왠지 정확히 좋은 코딩 환경을 찾을 수 없다고 하는 기분에. .
그리고 여러가지 시험해 본 가운데, JupyterNotebook이 정확하게 좋을 것 같다! 라는 것을 실감해 왔으므로 공유하고 싶습니다!
즉시 소개
첫째, 원래 JupyterNotebook이 좋다! 완벽!
그렇다면이 기사는 여기서 끝나면 좋습니다.
하나만, 굉장히 AtCoder에 적합하지 않은 곳이 있습니다.
그것은 "테스트 케이스를 잘 입력하는 수단이 없다"라는 곳입니다!
input()로 입력을 받고 싶은데, 그렇게 준비되어 있지 않으므로 받을 수 없습니다. .
그래서!
JupyterNotebook에서 AtCoder 테스트 케이스를 쉽게 받는 방법을 소개합니다.
그럼 노트북을 엽니다.
첫 번째 셀에 다음 코드를 붙여 넣습니다.
from ipywidgets import Textarea
def get_input(change):
global Input
Input = change["new"]
textarea = Textarea()
textarea.observe(get_input, names='value')
display(textarea)
그리고 셀 실행 ...
그러면 텍스트 영역이 나타납니다!
이 텍스트 영역은 여러 줄의 입력이 가능하며 테스트 케이스를 그대로 붙여 넣을 수 있습니다!
이어서
아래에 셀을 하나 만들고 아래 코드를 붙여 넣습니다.
IN = iter(Input.split('\n')).__next__
def input():
return IN()
이상으로 준비는 완료입니다!
사용해보기
Atcoder의 상주 콘테스트 「practice」의 「A-Welcome to AtCoder」로 시험해 보겠습니다.
문제문
타카하시군은 데이터의 가공이 실시하고 싶습니다.
정수 a, b, c와 문자열 s가 주어집니다. a+b+c 계산 결과와, 문자열 s를 나란히 표시하십시오.
입력
입력은 다음 형식으로 제공됩니다.
a
b c
s
출력
a+b+c와 s를 공백으로 구분하여 한 줄로 출력하라.
입력 예 1
1
2 3
test
출력 예 1
6 test
이제 여러 줄 입력이 있는 유형입니다.
바로 입력 예를 앞서 준비해 둔 텍스트 영역에 붙여 봅시다!
버려져 버리고 있습니다만, 붙여넣어졌네요.
그런 다음 코딩합니다.
코드는 두 번째 셀에 씁니다.
실행하면 ... 제대로 움직였습니다!
input()로 텍스트 영역에서 한 줄씩 취득해 줍니다.
그리고는 코드를 제출하면 눈에 띄는 골인입니다!
AC하기를 기도합시다(실수로 준비 코드도 포함하지 않도록 주의)
결론
어땠습니까? ?
조금의 준비로 여러가지 입력을 확실히 시험할 수 있으므로, 꽤 쾌적하게 될까 생각합니다!
아직 확실히 오는 코딩 환경을 찾을 수 없다···라고 고민의 분은 꼭 시험해 주세요~
그럼
Reference
이 문제에 관하여(AtCoder 테스트 케이스를 JupyterNotebook에서 쉽게 입력하고 실행하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/all_fort/items/00bbc5e42aa638c2bb55텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)