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하기를 기도합시다(실수로 준비 코드도 포함하지 않도록 주의)


결론



어땠습니까? ?

조금의 준비로 여러가지 입력을 확실히 시험할 수 있으므로, 꽤 쾌적하게 될까 생각합니다!
아직 확실히 오는 코딩 환경을 찾을 수 없다···라고 고민의 분은 꼭 시험해 주세요~

그럼

좋은 웹페이지 즐겨찾기