기능
Solution Download
Run Python
교육 서비스
Pyalgo100
JSalgo20
SQooL: SQL School
FLEX x GRID
ALGO.VIEW
DataGen
접어두기
Q1. 자격 증명
Q2. 암호문
Q3. 출정인원 선발
Q4. 꿈의 설계
Q5. 상한 당근 찾기
Q6. 샌드위치 포장
Q7. 두 수의 합 찾기
Q8. 무기 생산
Q9. 최대 손실액
Q10. 알리는 포케가 좋아
Q11. 라떼를 엎은 헤오니다
Q12. 마라탕 많이 먹기
Q13. 비행정 탑승
Q14. (꿈-1) 출항 준비!
Q15. 귤 판매하기
Q16. 2인자 선발
Q17. 로봇캣 점검의 날
Q18. 냥이족 종류를 정리하라냥
Q19. (꿈-2) 리치를 무찌르자!
Q20. 빙키의 당근 케이크
00
:
00
:
00
Solution
코드에디터
testcase1
testcase2
testcase3
채점하기
Result
결과가 이 곳에 표시됩니다.
인공지능에게 질문하기
💡 복잡한 로직의 답변은 20초 이상의 시간이 걸릴 수 있습니다.
전송
import ast #from testCaseAndResult import test from testcase import testcase_and_result PAGE_NAME = js.document.querySelector('.active').id[1:] def render(*ags): PAGE_NAME = js.document.querySelector('.active').id[1:] for i in range(3): js.document.querySelector(f'#testcase{i+1}').value = str(testcase_and_result[int(PAGE_NAME)]['testcase'][i]) render() def result(*ags, **kws): code = Element("codeeditor").element.innerText PAGE_NAME = js.document.querySelector('.active').id[1:] answer = testcase_and_result[int(PAGE_NAME)]['result'] testCase = testcase_and_result[int(PAGE_NAME)]['testcase'] code += f'\n[solution(i) for i in {str(testCase)}]' try: result = multiline_eval(code) result = ast.literal_eval(result) resultString = "<p class='que-result'>테스트 케이스 번호 : 통과 여부 (실행값 == 정답값) </p>" passing = "<span class='result-pass'> 통과 </span>" fail = "<span class='result-fail'> 실패 </span>" result_save_localstorage = [] for i in range(3): resultString += f"<p class='que-result-{i} checkPass'>test{i+1} : {passing if result[i] == answer[i] else fail}<span class='result-compare'>({result[i]} == {answer[i]})</span></p>" result_save_localstorage.append(result[i] == answer[i]) js.document.querySelector('#result_desc').innerHTML = resultString if all(result_save_localstorage): js.window.localStorage.setItem(f'{PAGE_NAME}_check', '통과') js.document.getElementById(f'q{PAGE_NAME}').classList.add('success') else: js.window.localStorage.removeItem(f'{PAGE_NAME}_check') render() except Exception as e: result = f"<p class='que-result-error'>에러입니다. 문제를 다시 풀어주세요.</p> <p class='que-result-errorname'>에러명 : {e}</p>" js.document.querySelector('#result_desc').innerHTML = result def multiline_eval(expr, ctx={}): results = [] for node in ast.parse(expr).body: if isinstance(node, ast.Expr): result = eval(compile(ast.Expression(node.value), 'string', 'eval'), ctx) results.append(result) else: module = ast.Module([node], type_ignores=[]) results.append(exec(compile(module, 'string', 'exec'), ctx)) return '\n'.join(map(str, results))[5:] button_run = Element("btn-run") button_run.element.onclick = result for i in range(1, 31): button_render = Element(f'q{i}') # button_render.element.onclick = render