JSalgo 바로가기
Algoview
Solution Download
Run Python
풀이 언어를 선택하세요.
Python
JavaScript
Algoview
Solution Download
Run Python
접어두기
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