Test Admin Guide

  • From the question list menu, choose the type of question you want to create.

  • On the selected question type page, click Create Question in the upper right corner.


You can choose between the Function Type and the STDIO Type.

  • Function Type: Test takers write a function that meets specific conditions. When the test is run, parameters are passed to the function, and the return value is automatically scored.

  • STDIO Type: Test takers write a program that reads input and prints output. Scoring is based on whether the output matches the expected result.

This choice determines how the test system evaluates answers—automatically through return values or printed output.


For security reasons, HTML is not supported on the actual test page. Please use Markdown formatting and the available editor tools to write your content.

  • Choose from the following problem types: General, Line Replacement, or Fill in the Blank.

  • The description can be written in both Korean and English. At least one language is required.

  • The input form supports Markdown, allowing the use of code, images, tables, etc.

  • Be clear and specific in your description.

  • It’s recommended to include:

Plaintext
Requirements: Describe expected input and output clearly.

Constraints:
A. Value ranges:
e.g., N is an integer between –100 and 100
e.g., Length of array/string: 1 ≤ length ≤ 300,000

B. Element constraints:
e.g., String consists of lowercase letters only
e.g., Array elements are natural numbers between 1 and 4,000

C. Additional notes:
e.g., Array contains no duplicates
e.g., Each element is [name, weight] where name is a string and weight is a number

Example:
e.g., Given [1, 2, 3, 4], return the sum: 10


  1. Specify the number, types, and names of the parameters.

    • These will be reflected in the test taker's initial code.

    • It’s best to match parameter names with those in the description.

    • Avoid using reserved words as variable names (e.g., str in Python).

      For example, str is the name of a type conversion function in Python, so it is not suitable to use as a variable name.

      (This has led to actual complaints from test takers.)

  2. Set the return type.

  3. Parameter and Return Type Ranges:

    Type

    Size

    int

    4 Byte

    –2,147,483,648 ~ 2,147,483,647

    string

    -

    -

    bool

    1 Byte

    false 또는 true

    long

    8 Byte

    -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

    double

    8 Byte

    (1.7 X 10^-308) ~ (1.7 X 10^308) (15개의 자릿수)


  1. Select the programming languages to be supported by toggling the options.

    – Initial (template) code will be auto-generated.

    – Supported languages:

    C, C++, C#, Go, Java, JavaScript, Kotlin, Python, Python3, R, Ruby, Scala, Swift

  2. Enter the reference (correct) answer code.

    – This code will be used to validate the test cases.

    – You only need to provide the answer code in one language unless you are adding efficiency test cases.

    – An exception applies when registering Efficiency Test Cases in the next step. Details will be explained in the following section.


Example Test Cases are visible to test takers and do not affect the score

  • Click Add Test Case to register example test cases.

  • It is recommended to add 1–5 cases for clarity and readability.


What is an Accuracy Test Case?

  • Accuracy test cases are used to evaluate how precisely the test taker’s code meets the requirements.

  • These test cases are not visible to the test taker and directly affect the score.

  • Each test case has a 10-second time limit.

  • If the code fails to return the correct result within 10 seconds, the answer is considered incorrect.

  • Click Add Test Case to register accuracy test cases.

  • Unlike example test cases, you must assign a score to each accuracy test case.

  1. It is recommended to register 10 to 30 accuracy test cases for balanced evaluation.

  2. Include a variety of test scenarios: – Edge values (e.g., minimum and maximum bounds) – Special cases (e.g., negative numbers, 0, arrays with only one element) – Both sorted and unsorted inputs

  3. Make sure all input values strictly follow the constraints described in the prompt. e.g., If the prompt states “a number between 1 and 100,” do not include values like 0 or –1.

  4. Avoid unbalanced return patterns. e.g., If 7 out of 10 test cases return 0, it may lead to misleading results. For boolean outputs, try to keep a 1:1 ratio of true and false cases.


What is an Efficiency Test Case?

  • Efficiency test cases are used to evaluate whether the candidate has considered time complexity in their solution.

  • These test cases impact the candidate’s score but are not visible to the candidate.

  • Time limits vary by programming language, so a correct solution must be provided for all selected languages. </aside>

  • To add an efficiency test case, click the Add Test Case button.

  • After entering the test case, click Calculate Timeout to measure the time limit.

  • The time limit will be calculated as:

    (Execution time of correct solution) × (Multiplier)

  1. It is recommended to register 0 to 5 efficiency test cases, depending on the problem. In some cases, none may be required.

  2. Ensure the correct solution has sufficiently low time complexity. e.g., If the correct solution is already inefficient, time limits lose their meaning.

  3. Register only large input cases. Small inputs do not adequately test time complexity. e.g., For arrays, use input sizes of 100,000 or more.

  4. However, make sure the input values stay within the defined constraints. e.g., If the prompt limits the array length to 100, do not register an array of length 100,000 (X).


  • You can preview the question before finalizing.

  • After completing the question, go through the review checklist to ensure everything is set.

  • For best results, have someone other than the author review the question for clarity and completeness.

Category

Checklist Item

Notes

Prompt

Is the problem statement written in an easy-to-understand manner?

Prompt

Are there any conditions in the problem that conflict with each other?

ex) Says a natural number is given, but 0 or -10 is included, etc.

Prompt

Is the explanation about the example return value and related details accurate?

Prompt

Is the problem statement clearly visible on the test screen?

On the test screen, the problem may appear garbled compared to the problem addition screen.

Test Case

Are there any conflicts between the problem and the test case data?

ex) Says a natural number is given, but 0 or -10 is included, etc.

Test Case

Do the sample test cases match the examples in the problem statement?

To prevent confusion for the test taker, it's recommended to match sample inputs and outputs.

Test Case

Is the problem solvable?

Must be solvable without looking at the correct solution code.

Test Case

Are there any missing edge cases that need to be covered?

Test Case

Are the test cases too biased in one direction?

ex) If all test cases have the same answer, etc.