난이도가 없습니다. 난이도 작성해야 할 것 같습니다 !

1. // 문제가 제일 효율적인 방식이라고 명시되어야 할 것 같습니다 !

{
  "title": "배열의 최대값 찾기",
  "problemType": "MULTIPLE_CHOICE",
  "category": "알고리즘",
  "difficulty": ,
  "problemContent": {
    "content": "배열이 주어질 때, 배열의 요소 중 가장 큰 값을 찾아서 반환하는 프로그램을 작성하세요. 배열은 정수로만 구성되어 있으며, 배열의 크기는 1 이상 100 이하입니다.",
    "numberOfBlanks": 0
  },
  "problemChoices": [
    {
      "choiceText": "배열의 첫 번째 요소를 최대값으로 설정하고, 배열을 순회하며 최대값을 갱신한다."
    },
    {
      "choiceText": "배열을 오름차순 정렬한 후 첫번째 요소를 반환한다."
    },
    {
      "choiceText": "배열을 내림차순 정렬한 후 마지막 요소를 반환한다."
    },
    {
      "choiceText": "배열의 요소를 모두 더한 값을 반환한다."
    }
  ],
  "problemAnswers": [
    {
      "blankPosition": null,
      "correctChoice": {
        "choiceText": "배열의 첫 번째 요소를 최대값으로 설정하고, 배열을 순회하며 최대값을 갱신한다."
      },
      "correctAnswerText": null
    }
  ]
}

2. 이것도 가장 효율적인 혹은 (효과적인)

{
  "title": "문자열에서 특정 문자 개수 세기",
  "problemType": "MULTIPLE_CHOICE",
  "category": "문자열",
  "difficulty": ,
  "problemContent": {
    "content": "주어진 문자열에서 특정 문자가 몇 번 나타나는지 세는 프로그램을 작성하세요.",
    "numberOfBlanks": 0
  },
  "problemChoices": [
    {
      "choiceText": "문자열을 순회하며 각 문자를 비교하여 특정 문자의 개수를 세기."
    },
    {
      "choiceText": "문자열을 정렬한 후 특정 문자가 몇 개 있는지 세기."
    },
    {
      "choiceText": "문자열에서 특정 문자만 추출하여 그 길이를 반환하기."
    },
    {
      "choiceText": "문자열을 대문자로 변환한 후 특정 문자의 개수를 세기."
    }
  ],
  "problemAnswers": [
    {
      "blankPosition": null,
      "correctChoice": {
        "choiceText": "문자열을 순회하며 각 문자를 비교하여 특정 문자의 개수를 세기."
      },
      "correctAnswerText": null
    }
  ]
}

3. 이것도 제일 빠른, 제일 효율적인

{
  "title": "소수 판별",
  "problemType": "MULTIPLE_CHOICE",
  "category": "알고리즘",
  "difficulty": ,
  "problemContent": {
    "content": "주어진 정수가 소수인지 판별하는 프로그램을 작성하세요. 소수는 1과 자기 자신만으로 나누어 떨어지는 수입니다.",
    "numberOfBlanks": 0
  },
  "problemChoices": [
    {
      "choiceText": "주어진 수가 2부터 n의 제곱근까지 나누어 떨어지는지 확인한다. (n>=2 자연수)"
    },
    {
      "choiceText": "주어진 수가 1과 자기 자신 외의 수로 나누어 떨어지는지 확인한다."
    },
    {
      "choiceText": "주어진 수가 2보다 큰 모든 수로 나누어 떨어지는지 확인한다."
    },
    {
      "choiceText": "주어진 수가 홀수인지 확인한다."
    }
  ],
  "problemAnswers": [
    {
      "blankPosition": null,
      "correctChoice": {
        "choiceText": "주어진 수가 2부터 n의 제곱근까지 나누어 떨어지는지 확인한다. (n>=2 자연수)"
      },
      "correctAnswerText": null
    }
  ]
}

4. 이것도 문제를 잘 읽어보고 불필요하지 않는 혹은 효율적인이라는 말이 있어야 할 것 같습니다 !

{
  "title": "정렬된 배열에서 이진 탐색",
  "problemType": "MULTIPLE_CHOICE",
  "category": "알고리즘",
  "difficulty": ,
  "problemContent": {
    "content": "정렬된 배열과 검색할 값이 주어질 때, 이진 탐색 알고리즘을 사용하여 값을 찾는 프로그램을 작성하세요. 배열은 오름차순으로 정렬되어 있습니다.",
    "numberOfBlanks": 0
  },
  "problemChoices": [
    {
      "choiceText": "중간값과 검색할 값을 비교하여 배열의 절반을 반복적으로 탐색한다."
    },
    {
      "choiceText": "배열의 모든 요소를 순차적으로 비교하여 검색할 값을 찾는다."
    },
    {
      "choiceText": "배열을 정렬한 후 이진 탐색을 수행한다."
    },
    {
      "choiceText": "배열을 역순으로 정렬한 후 이진 탐색을 수행한다."
    }
  ],
  "problemAnswers": [
    {
      "blankPosition": null,
      "correctChoice": {
        "choiceText": "중간값과 검색할 값을 비교하여 배열의 절반을 반복적으로 탐색한다."
      },
      "correctAnswerText": null
    }
  ]
}

5. 이 문제는 조금 애매한 것 같습니다. 시간 안에 문제를 이해하고 보기를 다 읽고 풀기에는 어려울 것 같습니다

{
  "title": "배열의 중복 요소 제거",
  "problemType": "MULTIPLE_CHOICE",
  "category": "알고리즘",
  "difficulty": ,
  "problemContent": {
    "content": "정렬된 배열과 검색할 값이 주어질 때, 이진 탐색 알고리즘을 사용하여 값을 찾는 프로그램을 작성하세요. 배열은 오름차순으로 정렬되어 있습니다.",
    "numberOfBlanks": 0
  },
  "problemChoices": [
    {
      "choiceText": "중간값과 검색할 값을 비교하여 배열의 절반을 반복적으로 탐색한다."
    },
    {
      "choiceText": "배열을 정렬한 후 인접한 중복 요소를 제거한다."
    },
    {
      "choiceText": "배열의 모든 요소를 순차적으로 비교하여 검색할 값을 찾는다."
    },
    {
      "choiceText": "배열의 모든 요소를 2배로 만들어 중복을 피한다."
    }
  ],
  "problemAnswers": [
    {
      "blankPosition": null,
      "correctChoice": {
        "choiceText": "중간값과 검색할 값을 비교하여 배열의 절반을 반복적으로 탐색한다."
      },
      "correctAnswerText": null
    }
  ]
}

6. 이거 4번 안 되나?

{
  "title": "정수의 합 구하기",
  "problemType": "MULTIPLE_CHOICE",
  "category": "기본 프로그래밍",
  "difficulty": ,
  "problemContent": {
    "content": "정수 배열이 주어질 때, 배열의 모든 요소의 합을 계산하는 프로그램을 작성하세요.",
    "numberOfBlanks": 0
  },
  "problemChoices": [
    {
      "choiceText": "배열을 순회하며 각 요소를 누적하여 합을 계산한다."
    },
    {
      "choiceText": "배열을 정렬한 후 첫 번째 요소와 마지막 요소의 합을 계산한다."
    },
    {
      "choiceText": "배열의 요소를 제곱하여 합을 계산한다."
    },
    {
      "choiceText": "배열의 평균값을 구한 후 평균값에 배열의 길이를 곱한다."
    }
  ],
  "problemAnswers": [
    {
      "blankPosition": null,
      "correctChoice": {
        "choiceText": "배열을 순회하며 각 요소를 누적하여 합을 계산한다."
      },
      "correctAnswerText": null
    }
  ]
}

7. 이것도 가장 효율적인인데, 이 문제를 고등학생이 잘 이해하기 힘들 것 같긴 합니다

{
  "title": "중복 문자 제거",
  "problemType": "MULTIPLE_CHOICE",
  "category": "문자열",
  "difficulty": ,
  "problemContent": {
    "content": "주어진 문자열에서 모든 중복 문자를 제거한 새로운 문자열을 반환하는 프로그램을 작성하세요.",
    "numberOfBlanks": 0
  },
  "problemChoices": [
    {
      "choiceText": "문자열을 순회하며 각 문자를 집합에 추가한 후 집합을 문자열로 변환한다."
    },
    {
      "choiceText": "문자열을 정렬한 후 앞에서 부터 순회하며 인접한 문자가 같으면 제거한다."
    },
    {
      "choiceText": "문자열의 각 문자를 개수에 따라 정렬한다."
    },
    {
      "choiceText": "문자열의 각 문자를 ASCII 값으로 변환한다."
    }
  ],
  "problemAnswers": [
    {
      "blankPosition": null,
      "correctChoice": {
        "choiceText": "문자열을 순회하며 각 문자를 집합에 추가한 후 집합을 문자열로 변환한다."
      },
      "correctAnswerText": null
    }
  ]
}

8. 이 문제는 약간 말 장난 같은 느낌입니다.

그래도 나쁘지 않은 것 같습니다

{
  "title": "두 정수의 최대공약수 (GCD)",
  "problemType": "MULTIPLE_CHOICE",
  "category": "수학",
  "difficulty": ,
  "problemContent": {
    "content": "두 정수가 주어질 때, 두 정수의 최대공약수(GCD)를 계산하는 프로그램을 작성하세요.",
    "numberOfBlanks": 0
  },
  "problemChoices": [
    {
      "choiceText": "유클리드 알고리즘을 사용하여 최대공약수를 계산한다."
    },
    {
      "choiceText": "두 수의 배수 중 작은 값을 찾아 최대공약수를 계산한다."
    },
    {
      "choiceText": "두 수의 평균을 계산하여 최대공약수를 추정한다."
    },
    {
      "choiceText": "두 수의 차를 계산하여 최대공약수를 추정한다."
    }
  ],
  "problemAnswers": [
    {
      "blankPosition": null,
      "correctChoice": {
        "choiceText": "유클리드 알고리즘을 사용하여 최대공약수를 계산한다."
      },
      "correctAnswerText": null
    }
  ]
}

9. 죠습니다

{
  "title": "반복문을 활용한 출력 결과 예측",
  "problemType": "MULTIPLE_CHOICE",
  "category": "반복문",
  "difficulty": ,
  "problemContent": {
    "content": "다음 코드의 출력 결과를 예측하세요.\\n\\n```python\\nfor i in range(1, 6):\\n    print(i * 2, end=' ')\\n```",
    "numberOfBlanks": 0
  },
  "problemChoices": [
    {
      "choiceText": "2 4 6 8 10"
    },
    {
      "choiceText": "1 3 5 7 9"
    },
    {
      "choiceText": "1 2 3 4 5"
    },
    {
      "choiceText": "2 3 4 5 6"
    }
  ],
  "problemAnswers": [
    {
      "blankPosition": null,
      "correctChoice": {
        "choiceText": "2 4 6 8 10"
      },
      "correctAnswerText": null
    }
  ]
}

10. 죠습니다.