> For the complete documentation index, see [llms.txt](https://help.goorm.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.goorm.io/ko/devth-interviewers/quiz/create-quiz.md).

# 문제 생성

![](/files/-M-7ypIh-wMdwLAl_esw)

상단 오른쪽에서 **'관리 메뉴'→'평가 관리'**&#xB97C; 순서대로 클릭하여 \
관리 페이지로 접속하면 관리자가 생성한 평가를 볼 수 있습니다.

![](/files/-Lu2JIUfKF-CY3nOpERm)

변경하고자 하는 평가 카드를 클릭하면 아래와 같은 평가 편집 페이지로 접속할 수 있습니다. \
페이지 왼쪽 바에는 평가 제작자가 사용할 수 있는 다양한 기능이 구성되어 있습니다.

![](/files/-M-7znoCpxxtN7qMfahO)

'문제 관리'를 클릭하면 평가를 위해 **`문제 가져오기`**&#xB85C; 구름에서 기본 제공하는 문제은행을 가져오거나, \
**`새 문제 만들기`**&#xB85C; 새로운 문제를 제작할 수 있습니다.

![](/files/-M-7zdA9ob9-JHV1aC62)

## 1. 문제 가져오기

우측 상단의 **`문제 가져오기`**&#xB97C; 클릭하여 공개 설정된 문제를 가져올 수 있습니다.

![](/files/-Lu7BSIx_ZQPekI4Zyav)

문제 유형, 타입, 사용 언어, 난이도, 기타 사용자 설정 항목의 다양한 태그를 통해 \
원하는 문제를 검색할 수 있습니다.&#x20;

구름에서 제공하는 문제은행을 사용하고 싶으시다면 **'기타'** 카테고리에서 \
**'기본200제', '실전50제'** 태그를 클릭하시면 됩니다.

![](/files/-Lu7DOVy3qzcXU7QTfR_)

문제를 선택하면 위와 같이 왼쪽의 문제 내용 미리보기에서 내용을 확인할 수 있습니다. \
가져올 문제를 체크하고 **`선택 항목 가져오기`** 버튼을 통해 평가로 문제를 가져옵니다.<br>

## **2. 문제 만들기**

새로운 문제를 만들고 싶다면 우측 상단의 **`새 문제 만들기`** 버튼을 클릭한 뒤, \
원하는 유형의 문제를 선택합니다.

![](/files/-Lv50gqmPILX701GKA0B)

### **2-1. 문제설정**

**'새 문제 만들기'** 실행 화면입니다. **문제 유형 선택, 문제 공개 범위, 문제 난이도, 태그** 를 \
차례로 선택하신 후 **`시작하기`**&#xB97C; 클릭하여 새로운 문제를 만들 수 있습니다.&#x20;

![](/files/-LuFzvNWrcW39Sydjbpk)

각각의 메뉴에 대해 간단히 설명 드리겠습니다.

* **문제 유형 선택 :** 채점모드와 제출모드가 있습니다. \
  **채점모드**는 문제 작성 시 표준 입출력값을 통한 채점답안을 반드시 입력해야 하고 \
  자동채점이 가능합니다. **제출모드**는 답안 작성 과정 없이 문제 제작이 가능하며, \
  출제자가 응시자의 제출 답안을 직접 확인하여 채점합니다.<br>
* **문제 공개 범위 :** 전체공개, 비공개, 채널공개가 있습니다. \
  전체공개는 구름 서비스를 이용하는 모든 도메인에서 사용할 수 있습니다. \
  채널공개는 현재 문제를 제작중인 기관 또는 학교의 채널에서만 사용 할 수 있습니다. \
  비공개는 해당 문제를 작성한 평가에서만 문제를 사용할 수 있습니다.<br>
* **문제 난이도 :** 출제자는 작성한 문제의 난이도를 `★` \~ `★★★★★`사이에서 설정할 수 있습니다.<br>
* **태그 :** 문제 가져오기 실행시 검색에 노출되는 태그를 설정할 수 있습니다.

### 2-2. 프로그래밍 언어 설정

문제를 풀기 위해 응시자에게 제공할 언어를 선택할 수 있습니다. \
현재 구름DEVTH에선 **총 28가지의 프로그래밍 언어**를 제공할 수 있습니다. \
제공하길 원하는 언어를 선택한 후 적용을 클릭하여 **다음**으로 넘어갑니다.

![](/files/-LuG1Ugs2ERRMus2CuDg)

### 2-3. 예제 코드 작성

아래 화면의 좌측의 빨간 박스에서 **문제 이름, 문제 내용, 출처** 등 응시자가 문제를 풀기위해 필요한 정보를 텍스트로 제공할 수 있습니다. 새 문제 만들기를 시작할 때 설정한 난이도를 변경하면 문제 이름 아래의 노란별을 클릭하여 수정할 수 있습니다.

우측박스에서는 응시자에게 제공할 프로그래밍 언어의 기본예제코드와 설정을 변경할 수 있습니다.&#x20;

![](/files/-LuG2U3oSCkrgJJk6VQt)

상단의 **언어명이 표기된 탭**에 각 언어의 기본예제를 변경할 수 있으며 \
그 외 변경 가능한 설정은 아래와 같습니다.

* 컴파일러 설정
* 언어옵션
* 제출 시 프로그램 수행시간 제한
* 제출 시 프로그램 메모리 제한
* 실행 컨테이너 설정
* 지원자에게 보여줄 내용
* 실행 시 프로그램 수행시간 제한
* 입력/출력 파일 업로드

새 문제 만들기를 시작할 때 선택한 언어를 변경하려면 언어 선택을 클릭하여 수정할 수 있습니다.

### 2-4. 정답 코드 작성

**정답 코드 작성 탭**으로 이동하여 문제에서 요구하는 알고리즘을 구현한 정답 코드를 작성할 수 있습니다. \
이 단계는 문제를 만들기 위한 필수과정은 아닙니다.

![](/files/-LuG4NDC8N_hIFwvGRqa)

### 2-5. 채점 설정

![](/files/-LuG5Ap6C43xuvyCfKjL)

채점 설정 탭에서 자동채점을 위한 답안을 표준 입출력 기반으로 하여 작성할 수 있습니다. \
입력값과 출력값을 각각 입력하여 답안을 하나씩 추가할 수 있고 \
파일 업로드, 일괄 등록 기능을 통해 여러개의 테스트 케이스를 한 번에 추가할 수도 있습니다.&#x20;

**입/출력 예시로 사용**을 체크하면 해당 테스트 케이스는 \
응시자가 문제를 해결하는데 참고할 수 있도록 공개됩니다. \
다양한 경우의 수에 대비하여 충분한 테스트 케이스를 작성하여 문제를 제작한다면 \
좋은 문제를 만들 수 있습니다.&#x20;

채점설정에서 제공하는 채점옵션은 유연한 채점을 위해 제공 하는 기능입니다. \
공백, 쉼표, 마침표, 대소문자 구분 등을 무시하고 채점 할 수 있습니다.&#x20;

또한 채점 옵션을 통해 응시자에게 각 테스트 케이스의 정답 여부, 배점, \
리소스 사용량 등을 공개 할 수 있습니다.&#x20;

정규식을 통한 채점도 가능합니다. \
정규표현식의 이용방법에 대해서는 아래 링크를 참고해 주시기 바랍니다.

* [정규표현식 사용방법](http://www.nextree.co.kr/p4327/)
* [정규표현식 작동확인](https://regexr.com/)

위 과정들을 모두 진행한 후 **`저장`**&#xC744; 클릭하시면 새로운 문제가 생성됩니다.
