인증서
인증서 다운로드
진행도
0
/100
이름
다운로드
모달창 닫기
콘텐츠 더보기
기능
Solution Download
Run Python
교육 서비스
Pyalgo20
JSalgo20
SQooL: SQL School
FLEX x GRID
ALGO.VIEW
DataGen
접어두기
Q1. 더하기
Q2. 곱하기
Q3. 조건 덧셈
Q4. 크리스마스 쿠키
Q5. 1의 갯수 반환
Q6. 문자열 덧셈
Q7. 업무 우선순위
Q8. 두 점 사이의 거리
Q9. 수학은 내가 1등
Q10. 게임 밸런스 조절
Q11. 평균 점수 카운팅
Q12. 우편 번호 정렬
Q13. 도서관 책 연도별 정렬
Q14. 도서관 책 코드별 정렬
Q15. 위니브 회의 시간표 정렬
Q16. 뮤라의 휴가 입력
Q17. 라이캣 CEO의 최근일정 3개
Q18. 주간 최고 온도 기록 분석
Q19. 데이터 타입 확인
Q20. 타입 확인
Q21. 숫자 배열 탐색
Q22. 문자열 탐색
Q23. 2차원 배열 탐색
Q24. 연속 수열의 최대합
Q25. 소수 판별
Q26. 최대 합계 배열 찾기
Q27. 작은 길이 부분 배열 찾기
Q28. 가장 가까운 합 찾기
Q29. 단일 숫자 찾기
Q30. 비트 치환 문제
Q31. 비트 반전 정수
Q32. 비트 연산
Q33. 이메일 주소 검증
Q34. 날짜 패턴 찾기
Q35. HTML 태그 제거
Q36. 전화번호 형식 변환
Q37. 로그파일 분석
Q38. URL 및 쿼리스트링 파싱
Q39. 파일 확장자 추출
Q40. 숫자 추출
Q41. 괄호 짝 맞추기
Q42. 최근 요청 기록 관리
Q43. 최근 사용된 페이지 관리
Q44. 단어 빈도수 세기
Q45. 두 큐의 합 같게 만들기
Q46. 순환 큐에서의 데이터 처리
Q47. 이진 트리의 최대 깊이 찾기
Q48. 이진 트리에서의 경로 합 계산
Q49. 그래프의 최단 경로 찾기
Q50. 그래프 사이클 감지
Q51. 최소 동전 개수 찾기
Q52. 아이스크림 잔돈 계산
Q53. 최대 분산 투자
Q54. 로봇 청소기의 경로 계산
Q55. 행렬 속 지뢰 찾기
Q56. 행렬 속 지뢰 위치 찾기
Q57. 행렬 조건 검사
Q58. 행렬 90도 회전하기
Q59. 행렬 요소의 개수와 합
Q60. 행렬 최댓값과 최솟값
Q61. 데큐
Q62. 데이터 저장 전략
Q63. 문자열 N-gram 생성
Q64. 문자열 패턴 찾기
Q65. 문자열 오른쪽 순환 이동
Q66. 문자열 간단한 압축
Q67. 서브스트링 위치 찾기
Q68. 조합으로 가장 큰 수
Q69. 특정 숫자 조합 찾기
Q70. 특정 범위 조합 찾기
Q71. 중복 문자 제거
Q72. 공통 문자 찾기
Q73. 특정 문자 제거
Q74. 고유 요소 찾기
Q75. 빠진 숫자 찾기
Q76. 배열의 병합(요소 비교)
Q77. 겹치는 선 길이 구하기
Q78. 선 위에 점 확인
Q79. 최대 직사각형 넓이 찾기
Q80. 최대 거리 찾기
Q81. 중간 노드 찾기
Q82. 링크드 리스트 역순 출력
Q83. 최대학점 구성
Q84. 가장 빠른 항공편
Q85. 응급환자 발생
Q86. 알파벳 출현 빈도 정렬
Q87. 숫자 교환
Q88. 숫자를 한글로 변환
Q89. 겹치는 점 구하기
Q90. 피타고라스 삼조
Q91. 팩토리얼 계산
Q92. 피보나치 수열
Q93. 재귀로 리스트 합 구하기
Q94. 재귀로 최대공약수 구하기
Q95. 재귀로 문자열 뒤집기
Q96. 재귀로 콤마 찍기
Q97. 재귀로 이진수 변환하기
Q98. N-Queen 문제
Q99. 부분 수열의 합
Q100. 압축 해제
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:] try: TEST_CASE_LEN = len(testcase_and_result[int(PAGE_NAME)]['result']) except: TEST_CASE_LEN = 3 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 enumerate(answer): 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, 101): button_render = Element(f'q{i}') # button_render.element.onclick = render