- 변수
- 자료형
- 연산자
- 표준입출력
- 파일입출력
- 반복문
- 조건문
- 1차원 리스트
- 2차원 리스트
- 함수의 활용
- 탐색
- 정렬
- 알고리즘
[
{
"title": "두 변수를 곱하는 문제",
"problemType": "FILL_IN_THE_BLANK",
"category": "변수",
"difficulty": 1,
"problemContent": {
"content": "변수 x와 y를 곱한 결과를 저장하고 출력하세요.\nx = 3\ny = 4\nz = $blank1$ * y\nprint($blank2$)",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "x"
},
{
"choiceText": "12"
},
{
"choiceText": "5"
},
{
"choiceText": "8"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "x"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "12"
},
"correctAnswerText": null
}
]
},
{
"title": "실수형으로 변환",
"problemType": "FILL_IN_THE_BLANK",
"category": "자료형",
"difficulty": 2,
"problemContent": {
"content": "변수 x와 y의 합을 실수형으로 변환하여 출력하세요.\nx = 10\ny = 3.14\nz = $blank1$(x + y)\nprint(z)",
"numberOfBlanks": 1
},
"problemChoices": [
{
"choiceText": "float"
},
{
"choiceText": "int"
},
{
"choiceText": "str"
},
{
"choiceText": "bool"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "float"
},
"correctAnswerText": null
}
]
},
{
"title": "문자열로 변환",
"problemType": "FILL_IN_THE_BLANK",
"category": "자료형",
"difficulty": 2,
"problemContent": {
"content": "이름과 나이를 문자열로 변환하여 출력하세요.\n이름 = 'Alice'\n나이 = 25\n정보 = '이름: ' + $blank1$ + ', 나이: ' + $blank2$(age)\nprint(info)",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "name"
},
{
"choiceText": "str"
},
{
"choiceText": "age"
},
{
"choiceText": "int"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "name"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "str"
},
"correctAnswerText": null
}
]
},
{
"title": "두 수의 합",
"problemType": "FILL_IN_THE_BLANK",
"category": "연산자",
"difficulty": 1,
"problemContent": {
"content": "변수 x와 y의 합을 출력하세요.\nx = 5\ny = 2\nz = x $blank1$ y\nprint(z)",
"numberOfBlanks": 1
},
"problemChoices": [
{
"choiceText": "+"
},
{
"choiceText": "-"
},
{
"choiceText": "*"
},
{
"choiceText": "/"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "+"
},
"correctAnswerText": null
}
]
},
{
"title": "두 수의 나눗셈",
"problemType": "FILL_IN_THE_BLANK",
"category": "연산자",
"difficulty": 2,
"problemContent": {
"content": "변수 x와 y의 나눈 값과 나머지를 출력하세요.\nx = 10\ny = 3\nz = x $blank1$ y\n나머지 = x $blank2$ y\nprint(z, remainder)",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "/"
},
{
"choiceText": "%"
},
{
"choiceText": "+"
},
{
"choiceText": "-"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "/"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "%"
},
"correctAnswerText": null
}
]
},
{
"title": "사용자로부터 입력받아 인사하기",
"problemType": "FILL_IN_THE_BLANK",
"category": "표준입출력",
"difficulty": 3,
"problemContent": {
"content": "# 사용자로부터 이름을 입력받아 인사말을 출력하는 코드를 완성하세요.\nname = $blank1$\nprint('Hello,', name)",
"numberOfBlanks": 1
},
"problemChoices": [
{
"choiceText": "input()"
},
{
"choiceText": "read()"
},
{
"choiceText": "scan()"
},
{
"choiceText": "get()"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "input()"
},
"correctAnswerText": null
}
]
},
{
"title": "1부터 5까지 숫자 출력하기",
"problemType": "FILL_IN_THE_BLANK",
"category": "반복문",
"difficulty": 2,
"problemContent": {
"content": "1부터 5까지의 숫자를 출력하는 코드를 완성하세요.\nfor i in $blank1$(1, $blank2$):\n print(i)",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "range"
},
{
"choiceText": "6"
},
{
"choiceText": "1"
},
{
"choiceText": "5"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "range"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "6"
},
"correctAnswerText": null
}
]
},
{
"title": "리스트의 모든 요소 출력하기",
"problemType": "FILL_IN_THE_BLANK",
"category": "반복문",
"difficulty": 2,
"problemContent": {
"content": "주어진 리스트의 모든 요소를 출력하는 코드를 완성하세요.\nfruits = ['apple', 'banana', 'cherry']\nfor $blank1$ in $blank2$:\n print(fruit)",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "fruit"
},
{
"choiceText": "fruits"
},
{
"choiceText": "i"
},
{
"choiceText": "range"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "fruit"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "fruits"
},
"correctAnswerText": null
}
]
},
{
"title": "양수인지 음수인지 판별하는 조건문",
"problemType": "FILL_IN_THE_BLANK",
"category": "조건문",
"difficulty": 2,
"problemContent": {
"content": "입력된 숫자가 양수인지 음수인지 판별하는 조건문을 완성하세요.\nnum = int(input('숫자를 입력하세요: '))\nif num > 0:\n print('$blank1$')\nelse:\n print('$blank2$')",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "'양수'"
},
{
"choiceText": "'음수'"
},
{
"choiceText": "'0'"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "'양수'"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "'음수'"
},
"correctAnswerText": null
}
]
},
{
"title": "1차원 리스트에서 첫 번째 요소 출력",
"problemType": "FILL_IN_THE_BLANK",
"category": "1차원 리스트",
"difficulty": 1,
"problemContent": {
"content": "주어진 리스트의 첫 번째 요소를 출력하는 코드를 완성하세요.\nfruits = ['apple', 'banana', 'cherry']\nprint($blank1$[0])",
"numberOfBlanks": 1
},
"problemChoices": [
{
"choiceText": "fruits"
},
{
"choiceText": "fruit"
},
{
"choiceText": "0"
},
{
"choiceText": "'apple'"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "fruits"
},
"correctAnswerText": null
}
]
},
{
"title": "1차원 리스트에 요소 추가하기",
"problemType": "FILL_IN_THE_BLANK",
"category": "1차원 리스트",
"difficulty": 2,
"problemContent": {
"content": "fruits 리스트에 'cherry'를 추가하는 코드를 완성하세요.\nfruits = ['apple', 'banana']\nfruits.$blank1$('$blank2$')\nprint(fruits)",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "append"
},
{
"choiceText": "'cherry'"
},
{
"choiceText": "insert"
},
{
"choiceText": "'orange'"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "append"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "'cherry'"
},
"correctAnswerText": null
}
]
},
{
"title": "2차원 리스트 순회",
"problemType": "FILL_IN_THE_BLANK",
"category": "2차원 리스트",
"difficulty": 3,
"problemContent": {
"content": "2차원 리스트의 모든 요소를 순서대로 순회하며 출력하는 코드를 완성하세요.\nmatrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]\nfor row in matrix:\n for $blank1$ in $blank2$:\n print(num, end=' ')\n print()",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "num"
},
{
"choiceText": "row"
},
{
"choiceText": "col"
},
{
"choiceText": "matrix"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "num"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "row"
},
"correctAnswerText": null
}
]
},
{
"title": "두 수를 더하는 함수",
"problemType": "FILL_IN_THE_BLANK",
"category": "함수의 활용",
"difficulty": 2,
"problemContent": {
"content": "주어진 두 수를 더하는 함수를 호출하여 결과를 출력하세요.\ndef add(a, b):\n return a + b\nresult = $blank1$($blank2$, 10)\nprint(result)",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "add"
},
{
"choiceText": "5"
},
{
"choiceText": "multiply"
},
{
"choiceText": "sub"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "add"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "5"
},
"correctAnswerText": null
}
]
},
{
"title": "두 수를 곱하는 함수",
"problemType": "FILL_IN_THE_BLANK",
"category": "함수의 활용",
"difficulty": 2,
"problemContent": {
"content": "주어진 두 수를 곱한 값을 반환하는 함수를 완성하세요.\ndef multiply(a, b):\n $blank1$ a $blank2$ b\n\nresult = multiply(5, 3)\nprint(result)",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "return"
},
{
"choiceText": "*"
},
{
"choiceText": "="
},
{
"choiceText": "+"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "return"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "*"
},
"correctAnswerText": null
}
]
},
{
"title": "탐색 문제 1",
"problemType": "FILL_IN_THE_BLANK",
"category": "탐색",
"difficulty": 2,
"problemContent": {
"content": "주어진 리스트에서 30의 인덱스를 찾는 코드를 완성하세요.\nnumbers = [10, 20, 30, 40, 50]\nindex = $blank1$.index($blank2$)\nprint(index)",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "numbers"
},
{
"choiceText": "30"
},
{
"choiceText": "index"
},
{
"choiceText": "find"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "numbers"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "30"
},
"correctAnswerText": null
}
]
},
{
"title": "탐색 문제 2",
"problemType": "FILL_IN_THE_BLANK",
"category": "탐색",
"difficulty": 2,
"problemContent": {
"content": "리스트에 10이 존재하는지 확인하는 코드를 완성하세요.\nnumbers = [5, 10, 15, 20, 25]\nif $blank1$ in $blank2$:\n print('찾았다!')",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "10"
},
{
"choiceText": "numbers"
},
{
"choiceText": "not"
},
{
"choiceText": "exists"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "10"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "numbers"
},
"correctAnswerText": null
}
]
},
{
"title": "오름차순 정렬",
"problemType": "FILL_IN_THE_BLANK",
"category": "정렬",
"difficulty": 2,
"problemContent": {
"content": "주어진 리스트를 오름차순으로 정렬하는 코드를 완성하세요.\nnumbers = [50, 20, 40, 10, 30]\nnumbers.$blank1$()\nprint(numbers)",
"numberOfBlanks": 1
},
"problemChoices": [
{
"choiceText": "sort"
},
{
"choiceText": "reverse"
},
{
"choiceText": "append"
},
{
"choiceText": "order"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "sort"
},
"correctAnswerText": null
}
]
},
{
"title": "내림차순 정렬",
"problemType": "FILL_IN_THE_BLANK",
"category": "정렬",
"difficulty": 2,
"problemContent": {
"content": "주어진 리스트를 내림차순으로 정렬하는 코드를 완성하세요.\nnumbers = [5, 15, 25, 35, 45]\nnumbers.sort($blank1$=$blank2$)\nprint(numbers)",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "reverse"
},
{
"choiceText": "True"
},
{
"choiceText": "False"
},
{
"choiceText": "key"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "reverse"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "True"
},
"correctAnswerText": null
}
]
},
{
"title": "문자열 슬라이싱 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "자료형",
"difficulty": 1,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\ns = 'Python Programming'\nprint(s[0:6])",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "Python"
}
]
},
{
"title": "조건문 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "조건문",
"difficulty": 1,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nx = 10\ny = 20\nif x < y:\n print('1')\nelse:\n print('2')",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "1"
}
]
},
{
"title": "리스트 합계 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "1차원 리스트",
"difficulty": 1,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nnumbers = [10, 20, 30, 40, 50]\nprint(sum(numbers))",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "150"
}
]
},
{
"title": "딕셔너리 값 접근 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "자료형",
"difficulty": 1,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nstudent = {'name': 'Alice', 'age': 20, 'grade': 'A'}\nprint(student['grade'])",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "A"
}
]
},
{
"title": "리스트와 반복문 사용",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "1차원 리스트",
"difficulty": 2,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nnumbers = [1, 2, 3, 4, 5]\nsum = 0\nfor num in numbers:\n sum += num\nprint(sum)",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "15"
}
]
},
{
"title": "리스트 기본 접근",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "1차원 리스트",
"difficulty": 1,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nfruits = ['apple', 'banana', 'cherry']\nprint(fruits[0])",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "apple"
}
]
},
{
"title": "리스트 합",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "1차원 리스트",
"difficulty": 1,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nnumbers = [1, 2, 3]\nprint(sum(numbers))",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "6"
}
]
},
{
"title": "리스트 최소값",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "1차원 리스트",
"difficulty": 2,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nnumbers = [3, 1, 4, 1, 5, 9]\nprint(min(numbers))",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "1"
}
]
},
{
"title": "리스트 최대값",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "1차원 리스트",
"difficulty": 2,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nnumbers = [3, 1, 4, 1, 5, 9]\nprint(max(numbers))",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "9"
}
]
},
{
"title": "리스트 합",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "조건문",
"difficulty": 2,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nnumbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\neven_sum = 0\nfor num in numbers:\n if num % 2 == 0:\n even_sum += num\nprint(even_sum)",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "30"
}
]
},
{
"title": "리스트 합",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "조건문",
"difficulty": 2,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nnumbers = [10, 15, 20, 25, 30, 35, 40]\nfive_multiple_sum = 0\nfor num in numbers:\n if num % 5 == 0:\n five_multiple_sum += num\nprint(five_multiple_sum)",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "175"
}
]
},
{
"title": "리스트 합",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "조건문",
"difficulty": 2,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nnumbers = [-5, -3, -1, 2, 4, 6, -8, 10]\nnegative_sum = 0\nfor num in numbers:\n if num < 0:\n negative_sum += num\nprint(negative_sum)",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "-17"
}
]
},
{
"title": "리스트 합",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "조건문",
"difficulty": 3,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nnumbers = [1, 3, 6, 9, 12, 15, 18, 21]\nthree_multiple_sum = 0\nfor num in numbers:\n if num % 3 == 0:\n three_multiple_sum += num\nprint(three_multiple_sum)",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "84"
}
]
},
{
"title": "리스트 합",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "조건문",
"difficulty": 3,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nnumbers = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]\neven_index_sum = 0\nfor i in range(len(numbers)):\n if i % 2 == 0:\n even_index_sum += numbers[i]\nprint(even_index_sum)",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "250"
}
]
},
{
"title": "리스트 합",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "조건문",
"difficulty": 3,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nnumbers = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]\nodd_index_sum = 0\nfor i in range(len(numbers)):\n if i % 2 != 0:\n odd_index_sum += numbers[i]\nprint(odd_index_sum)",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "300"
}
]
},
{
"title": "리스트 합",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "조건문",
"difficulty": 3,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nnumbers = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]\neven_index_sum = 0\nfor i in range(len(numbers)):\n if i % 2 == 0:\n even_index_sum += numbers[i]\nprint(even_index_sum)",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "50"
}
]
},
{
"title": "리스트 합",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "조건문",
"difficulty": 3,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nnumbers = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]\nodd_index_sum = 0\nfor i in range(len(numbers)):\n if i % 2 != 0:\n odd_index_sum += numbers[i]\nprint(odd_index_sum)",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "60"
}
]
},
{
"title": "문자열 슬라이싱",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "자료형",
"difficulty": 2,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\ntext = 'Programming'\nprint(text[-4:])",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "ming"
}
]
},
{
"title": "문자열 슬라이싱",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "자료형",
"difficulty": 2,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\ntext = 'Python Programming'\nprint(text[:5])",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "Pytho"
}
]
},
{
"title": "문자열 슬라이싱",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "자료형",
"difficulty": 2,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\ntext = 'SSAFY'\nprint(text[::-1])",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "YFASS"
}
]
},
{
"title": "문자열 길이 계산 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "표준입출력",
"difficulty": 1,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nname = input('이름을 입력하세요: ')\nprint(len(name))\n\n입력: John",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "4"
}
]
},
{
"title": "리스트 인덱싱 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "1차원 리스트",
"difficulty": 1,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\narr = [1, 2, 3, 4, 5]\nprint(arr[2])",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "3"
}
]
},
{
"title": "리스트 정렬 후 중간 값 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "정렬",
"difficulty": 2,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\narr = [3, 0, 2, 5, -1, 4, 1]\narr.sort()\nprint(arr[3])",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "2"
}
]
},
{
"title": "리스트 정렬 후 최대값 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "정렬",
"difficulty": 2,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\narr = [10, 7, 8, 9, 1, 5]\narr.sort()\nprint(arr[-1])",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "10"
}
]
},
{
"title": "두 수의 합 입력 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "표준입출력",
"difficulty": 1,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\na = int(input('첫 번째 수: '))\nb = int(input('두 번째 수: '))\nprint(a + b)\n\n입력: 3, 4",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "7"
}
]
},
{
"title": "변수 제곱 계산 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "변수",
"difficulty": 1,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nx = 5\nprint(x**2)",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "25"
}
]
},
{
"title": "변수 간 연산 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "변수",
"difficulty": 2,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\na = 10\nb = 20\nprint(a + b / 10 * 2)",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "14"
}
]
},
{
"title": "정수 나눗셈 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "연산자",
"difficulty": 2,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\na = 15\nb = 4\nprint(a // b)",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "3"
}
]
},
{
"title": "나머지 연산 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "연산자",
"difficulty": 2,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nx = 10\nprint(x % 3)",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "1"
}
]
},
{
"title": "리스트 길이 계산 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "1차원 리스트",
"difficulty": 1,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nnumbers = [10, 20, 30, 40, 50]\nprint(len(numbers))",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "5"
}
]
},
{
"title": "리스트 정렬 후 두 번째 큰 값 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "정렬",
"difficulty": 3,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\narr = [64, 25, 12, 22, 11]\narr.sort()\nprint(arr[-2])",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "25"
}
]
},
{
"title": "입력받은 수의 제곱 계산 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "표준입출력",
"difficulty": 2,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nnum = int(input('숫자를 입력하세요: '))\nprint(num ** 2)\n\n입력: 1",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "1"
}
]
},
{
"title": "문자열 덧셈 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "변수",
"difficulty": 1,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\ns = 'Hello'\nprint(s+'!')",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "Hello!"
}
]
},
{
"title": "리스트 마지막 요소 계산 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "1차원 리스트",
"difficulty": 3,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nelements = [5, 10, 15, 20]\nprint(elements[len(elements)-1] * 2)",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "40"
}
]
},
{
"title": "변수의 거듭제곱 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "변수",
"difficulty": 1,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nx = 5\nprint(x**1)",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "5"
}
]
},
{
"title": "입력받은 수의 홀짝 판단 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "표준입출력",
"difficulty": 2,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nnum = int(input('숫자를 입력하세요: '))\nprint(num % 2)\n\n입력: 5",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "1"
}
]
},
{
"title": "리스트 정렬 후 두 수의 합 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "정렬",
"difficulty": 3,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\narr = [10, 7, 8, 9, 1, 5]\narr.sort()\nprint(arr[-1] + arr[1])",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "15"
}
]
},
{
"title": "문자열 길이의 제곱 계산 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "표준입출력",
"difficulty": 2,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\nname = input('이름을 입력하세요: ')\nprint(len(name)**2)\n\n입력: John",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "16"
}
]
},
{
"title": "리스트 정렬 후 세 요소의 합 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "정렬",
"difficulty": 4,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\narr = [64, 25, 12, 22, 11]\narr.sort()\nprint(arr[0]+arr[-1]+arr[1])",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "87"
}
]
},
{
"title": "거듭제곱 연산 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "연산자",
"difficulty": 3,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\na = 7\nb = 3\nprint(a ** b)",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "343"
}
]
},
{
"title": "리스트 요소 곱셈 문제",
"problemType": "SHORT_ANSWER_QUESTION",
"category": "1차원 리스트",
"difficulty": 2,
"problemContent": {
"content": "# 다음 코드를 실행했을 때 출력될 값을 적으시오.\narr = [1, 2, 3, 4, 5]\nprint(arr[2]*2)",
"numberOfBlanks": 0
},
"problemChoices": [],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": null,
"correctAnswerText": "6"
}
]
},
{
"title": "연산자 우선순위",
"problemType": "MULTIPLE_CHOICE",
"category": "연산자",
"difficulty": 3,
"problemContent": {
"content": "다음 중 연산자 우선순위에 따라 올바르게 계산된 결과는 무엇입니까? (a = 5, b = 10, c = 3)",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "a + b * c = 35"
},
{
"choiceText": "a + b * c = 45"
},
{
"choiceText": "(a + b) * c = 45"
},
{
"choiceText": "a * b + c = 80"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "a + b * c = 35"
},
"correctAnswerText": null
}
]
},
{
"title": "파일에 문자열 쓰기",
"problemType": "MULTIPLE_CHOICE",
"category": "파일입출력",
"difficulty": 3,
"problemContent": {
"content": "파일에 문자열을 쓰는 올바른 방법은 무엇입니까?",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "file = open('text.txt', 'w');\n file.write('Hello, World!');\n file.close()"
},
{
"choiceText": "file = open('text.txt', 'r');\n file.write('Hello, World!');\n file.close()"
},
{
"choiceText": "file = open('text.txt', 'a');\n file.read('Hello, World!');\n file.close()"
},
{
"choiceText": "file = open('text.txt', 'w');\n file.read('Hello, World!');\n file.close()"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "file = open('text.txt', 'w');\n file.write('Hello, World!');\n file.close()"
},
"correctAnswerText": null
}
]
},
{
"title": "조건문을 이용한 숫자 범위 확인",
"problemType": "MULTIPLE_CHOICE",
"category": "조건문",
"difficulty": 2,
"problemContent": {
"content": "숫자가 10과 20 사이에 있는지 확인하는 올바른 조건문은 무엇입니까?",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "if x >= 10 and x <= 20:"
},
{
"choiceText": "if 10 < x < 20:"
},
{
"choiceText": "if 10 <= x <= 20:"
},
{
"choiceText": "if x > 10 and x < 20:"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "if x >= 10 and x <= 20:"
},
"correctAnswerText": null
}
]
},
{
"title": "리스트에서 중복 요소 제거",
"problemType": "MULTIPLE_CHOICE",
"category": "1차원 리스트",
"difficulty": 4,
"problemContent": {
"content": "주어진 리스트에서 중복된 요소를 제거하여 새로운 리스트를 반환하는 올바른 방법은 무엇입니까?",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "new_list = list(set(old_list))"
},
{
"choiceText": "new_list = set(old_list)"
},
{
"choiceText": "new_list = old_list.remove_duplicates()"
},
{
"choiceText": "new_list = [x for x in old_list if x not in new_list]"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "new_list = list(set(old_list))"
},
"correctAnswerText": null
}
]
},
{
"title": "2차원 리스트의 크기 구하기",
"problemType": "MULTIPLE_CHOICE",
"category": "2차원 리스트",
"difficulty": 3,
"problemContent": {
"content": "2차원 리스트의 행과 열의 수를 반환하는 올바른 방법은 무엇입니까?",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "rows = len(matrix);\n cols = len(matrix[0])"
},
{
"choiceText": "rows = len(matrix[0]);\n cols = len(matrix)"
},
{
"choiceText": "rows, cols = len(matrix)"
},
{
"choiceText": "rows = matrix.len();\n cols = matrix[0].len()"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "rows = len(matrix);\n cols = len(matrix[0])"
},
"correctAnswerText": null
}
]
},
{
"title": "이진 탐색의 시간 복잡도",
"problemType": "MULTIPLE_CHOICE",
"category": "탐색 알고리즘",
"difficulty": 4,
"problemContent": {
"content": "이진 탐색(Binary Search) 알고리즘을 사용하여 정렬된 배열에서 요소를 검색할 때의 시간 복잡도는 무엇입니까?",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "O(log n)"
},
{
"choiceText": "O(n)"
},
{
"choiceText": "O(n^2)"
},
{
"choiceText": "O(1)"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "O(log n)"
},
"correctAnswerText": null
}
]
},
{
"title": "버블 정렬 알고리즘",
"problemType": "MULTIPLE_CHOICE",
"category": "정렬",
"difficulty": 5,
"problemContent": {
"content": "버블 정렬 알고리즘의 동작 원리는 무엇입니까?",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "인접한 두 요소를 비교하여 크기가 작은 요소가 앞에 오도록 교환을 반복한다."
},
{
"choiceText": "리스트를 절반으로 나누어 각각을 정렬한 후 합병한다."
},
{
"choiceText": "피벗을 설정하고 피벗보다 작은 요소와 큰 요소를 분할한다."
},
{
"choiceText": "리스트를 정렬한 후, 정렬된 리스트의 중간 요소를 찾는다."
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "인접한 두 요소를 비교하여 크기가 작은 요소가 앞에 오도록 교환을 반복한다."
},
"correctAnswerText": null
}
]
},
{
"title": "탐색 알고리즘의 시간 복잡도",
"problemType": "MULTIPLE_CHOICE",
"category": "탐색",
"difficulty": 5,
"problemContent": {
"content": "선형 탐색(Linear Search) 알고리즘의 시간 복잡도는 무엇입니까?",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "O(n)"
},
{
"choiceText": "O(log n)"
},
{
"choiceText": "O(n^2)"
},
{
"choiceText": "O(1)"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "O(n)"
},
"correctAnswerText": null
}
]
},
{
"title": "상수와 변수의 차이점",
"problemType": "MULTIPLE_CHOICE",
"category": "변수",
"difficulty": 1,
"problemContent": {
"content": "다음 중 상수와 변수의 차이점에 대한 설명으로 올바른 것은 무엇입니까?",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "상수는 값을 변경할 수 없고, 변수는 값을 변경할 수 있다."
},
{
"choiceText": "상수는 값을 변경할 수 있고, 변수는 값을 변경할 수 없다."
},
{
"choiceText": "상수와 변수는 모두 값을 변경할 수 없다."
},
{
"choiceText": "상수와 변수는 모두 값을 변경할 수 있다."
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "상수는 값을 변경할 수 없고, 변수는 값을 변경할 수 있다."
},
"correctAnswerText": null
}
]
},
{
"title": "자료형 변환",
"problemType": "MULTIPLE_CHOICE",
"category": "자료형",
"difficulty": 2,
"problemContent": {
"content": "다음 중 문자열 '123'을 정수형으로 변환하는 올바른 방법은 무엇입니까?",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "int('123')"
},
{
"choiceText": "str(123)"
},
{
"choiceText": "float('123')"
},
{
"choiceText": "int('123', base=10)"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "int('123')"
},
"correctAnswerText": null
}
]
},
{
"title": "비트 연산자 활용",
"problemType": "MULTIPLE_CHOICE",
"category": "연산자",
"difficulty": 3,
"problemContent": {
"content": "정수 5와 3에 대해 비트 AND 연산(&)을 수행하면 결과는 무엇입니까?",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "1"
},
{
"choiceText": "2"
},
{
"choiceText": "3"
},
{
"choiceText": "0"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "1"
},
"correctAnswerText": null
}
]
},
{
"title": "반복문을 이용한 합 구하기",
"problemType": "MULTIPLE_CHOICE",
"category": "반복문",
"difficulty": 2,
"problemContent": {
"content": "1부터 10까지의 정수를 더하는 프로그램을 작성하려고 합니다. 다음 중 올바른 코드 구조는 무엇입니까?",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "for i in range(1, 11): sum += i"
},
{
"choiceText": "for i in range(1, 10): sum += i"
},
{
"choiceText": "for i in range(1, 11): sum = i"
},
{
"choiceText": "for i in range(1, 10): sum = i"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "for i in range(1, 11): sum += i"
},
"correctAnswerText": null
}
]
},
{
"title": "파일에서 한 줄 읽기",
"problemType": "MULTIPLE_CHOICE",
"category": "파일입출력",
"difficulty": 3,
"problemContent": {
"content": "파일에서 첫 번째 줄을 읽어오는 올바른 방법은 무엇입니까?",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "file.readline()"
},
{
"choiceText": "file.read()"
},
{
"choiceText": "file.read(1)"
},
{
"choiceText": "file.readline(1)"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "file.readline()"
},
"correctAnswerText": null
}
]
},
{
"title": "조건문을 이용한 짝수 판별",
"problemType": "MULTIPLE_CHOICE",
"category": "조건문",
"difficulty": 1,
"problemContent": {
"content": "정수가 짝수인지 확인하려고 합니다. 올바른 조건문은 무엇입니까?",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "if x % 2 == 0:"
},
{
"choiceText": "if x / 2 == 0:"
},
{
"choiceText": "if x % 2 != 0:"
},
{
"choiceText": "if x == 2:"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "if x % 2 == 0:"
},
"correctAnswerText": null
}
]
},
{
"title": "1차원 리스트 합 구하기",
"problemType": "MULTIPLE_CHOICE",
"category": "1차원 리스트",
"difficulty": 2,
"problemContent": {
"content": "1차원 리스트의 모든 요소를 더한 값을 반환하는 올바른 방법은 무엇입니까?",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "sum(list)"
},
{
"choiceText": "list.sum()"
},
{
"choiceText": "for i in list: sum += i"
},
{
"choiceText": "for i in list: sum = i"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "sum(list)"
},
"correctAnswerText": null
}
]
},
{
"title": "2차원 리스트 요소 접근",
"problemType": "MULTIPLE_CHOICE",
"category": "2차원 리스트",
"difficulty": 3,
"problemContent": {
"content": "2차원 리스트에서 첫 번째 행의 두 번째 요소에 접근하는 올바른 방법은 무엇입니까?",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "list[0][1]"
},
{
"choiceText": "list[1][2]"
},
{
"choiceText": "list[1][1]"
},
{
"choiceText": "list[0, 1]"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "list[0][1]"
},
"correctAnswerText": null
}
]
},
{
"title": "조건문을 이용한 숫자 비교",
"problemType": "MULTIPLE_CHOICE",
"category": "조건문",
"difficulty": 1,
"problemContent": {
"content": "다음 중 두 숫자 a와 b를 비교하여 a가 b보다 큰지 확인하는 올바른 조건문은 무엇입니까?",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "if a > b:"
},
{
"choiceText": "if a >= b:"
},
{
"choiceText": "if a < b:"
},
{
"choiceText": "if a == b:"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "if a > b:"
},
"correctAnswerText": null
}
]
}
,
{
"title": "이진 탐색 알고리즘",
"problemType": "MULTIPLE_CHOICE",
"category": "탐색",
"difficulty": 5,
"problemContent": {
"content": "정렬된 배열에서 특정 값을 찾는 이진 탐색 알고리즘의 동작 원리는 무엇입니까?",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "배열의 중앙 요소와 비교하여 찾고자 하는 값이 중앙값보다 크면 오른쪽 절반을, 작으면 왼쪽 절반을 탐색한다."
},
{
"choiceText": "배열의 첫 번째 요소와 비교하여 값이 크면 오른쪽으로 이동하고, 작으면 왼쪽으로 이동한다."
},
{
"choiceText": "배열을 순차적으로 탐색하며 값을 찾는다."
},
{
"choiceText": "배열을 역순으로 정렬한 후 탐색을 시작한다."
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "배열의 중앙 요소와 비교하여 찾고자 하는 값이 중앙값보다 크면 오른쪽 절반을, 작으면 왼쪽 절반을 탐색한다."
},
"correctAnswerText": null
}
]
},
{
"title": "문자열 출력하기",
"problemType": "FILL_IN_THE_BLANK",
"category": "표준입출력",
"difficulty": 1,
"problemContent": {
"content": "다음 파이썬 코드는 변수를 사용하여 문자열을 출력합니다.\n\nmessage = 'Hello, World!'\n$blank1$(message)\n\n보기 중 알맞은 방법을 선택하세요.",
"numberOfBlanks": 1
},
"problemChoices": [
{
"choiceText": "print"
},
{
"choiceText": "printf"
},
{
"choiceText": "console.log"
},
{
"choiceText": "printf"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "print"
},
"correctAnswerText": null
}
]
},
{
"title": "암묵적 형변환",
"problemType": "FILL_IN_THE_BLANK",
"category": "자료형",
"difficulty": 2,
"problemContent": {
"content": "다음 파이썬 코드의 실행 결과 2가 출력될 때, 빈칸에 들어갈 알맞은 보기를 선택하세요.\n\nprint(True + 1)",
"numberOfBlanks": 1
},
"problemChoices": [
{
"choiceText": "True"
},
{
"choiceText": "'1'"
},
{
"choiceText": "False"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "True"
},
"correctAnswerText": null
}
]
},
{
"title": "연산자 문제",
"problemType": "FILL_IN_THE_BLANK",
"category": "연산자",
"difficulty": 2,
"problemContent": {
"content": "다음 코드는 x를 y번 곱한 값을 출력합니다.\n\nx = 7\ny = 3\nresult = x $blank1$ y\nprint(result)\n\n빈칸에 들어갈 올바른 연산자를 선택하세요.",
"numberOfBlanks": 1
},
"problemChoices": [
{
"choiceText": "**"
},
{
"choiceText": "%"
},
{
"choiceText": "//"
},
{
"choiceText": "/"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "**"
},
"correctAnswerText": null
}
]
},
{
"title": "홀수 짝수 판별문",
"problemType": "FILL_IN_THE_BLANK",
"category": "조건문",
"difficulty": 2,
"problemContent": {
"content": "다음 코드는 사용자가 입력한 숫자가 짝수인지 홀수인지 확인하는 조건문입니다.\n\nnumber = int(input('Enter a number: '))\nif $blank1$ % 2 == 0:\n print('짝수')\nelse:\n print('홀수')\n\n빈칸에 알맞은 코드를 채우세요.",
"numberOfBlanks": 1
},
"problemChoices": [
{
"choiceText": "number"
},
{
"choiceText": "input"
},
{
"choiceText": "num"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "number"
},
"correctAnswerText": null
}
]
},
{
"title": "반복문을 활용한 리스트의 합 구하기",
"problemType": "FILL_IN_THE_BLANK",
"category": "반복문",
"difficulty": 3,
"problemContent": {
"content": "다음 파이썬 코드는 반복문을 통해 리스트 요소의 전체 합을 구합니다.\n\nsum = 0\nnumbers = [1, 2, 3, 4, 5]\nfor number in $blank1$:\n sum += number\nprint(sum)\n\n빈칸에 알맞은 내용을 채우세요.",
"numberOfBlanks": 1
},
"problemChoices": [
{
"choiceText": "numbers"
},
{
"choiceText": "number"
},
{
"choiceText": "sum"
},
{
"choiceText": "sum(numbers)"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "numbers"
},
"correctAnswerText": null
}
]
},
{
"title": "변수와 자료형 문제",
"problemType": "FILL_IN_THE_BLANK",
"category": "변수",
"difficulty": 3,
"problemContent": {
"content": "다음 코드는 두 변수의 값을 바꾸는 코드입니다. 빈칸에 알맞은 내용을 채워서 코드를 완성하세요.\n\nx = 5\ny = 10\nx, y = $blank1$, $blank2$\nprint('x:', x)\nprint('y:', y)\n\n빈칸에 들어갈 알맞은 내용을 채우세요.",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "y"
},
{
"choiceText": "x"
},
{
"choiceText": "10"
},
{
"choiceText": "5"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "y"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "x"
},
"correctAnswerText": null
}
]
},
{
"title": "리스트의 최대값",
"problemType": "FILL_IN_THE_BLANK",
"category": "1차원 리스트",
"difficulty": 3,
"problemContent": {
"content": "다음 파이썬 코드는 리스트에서 최댓값을 찾는 코드를 보여줍니다.\n\nnumbers = [3, 6, 2, 8, 4]\nmax_value = $blank1$\nfor num in numbers:\n if num > max_value:\n max_value = $blank2$\nprint($blank3$)\n\n빈칸에 알맞은 내용을 채우세요.",
"numberOfBlanks": 3
},
"problemChoices": [
{
"choiceText": "numbers[0]"
},
{
"choiceText": "num"
},
{
"choiceText": "max_value"
},
{
"choiceText": "max"
},
{
"choiceText": "number"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "numbers[0]"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "num"
},
"correctAnswerText": null
},
{
"blankPosition": 3,
"correctChoice": {
"choiceText": "max_value"
},
"correctAnswerText": null
}
]
},
{
"title": "2차원 리스트 합 구하기",
"problemType": "FILL_IN_THE_BLANK",
"category": "2차원 리스트",
"difficulty": 4,
"problemContent": {
"content": "다음 코드는 2차원 리스트에서 모든 요소를 순회하며 합을 구하는 반복문입니다.\n\nsum = 0\nmatrix = [[1, 2], [3, 4], [5, 6]]\nfor row in $blank1$:\n for element in $blank2$:\n sum += $blank3$\n\n빈칸에 알맞은 내용을 채우세요.",
"numberOfBlanks": 3
},
"problemChoices": [
{
"choiceText": "matrix"
},
{
"choiceText": "row"
},
{
"choiceText": "element"
},
{
"choiceText": "column"
},
{
"choiceText": "sum(row)"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "matrix"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "row"
},
"correctAnswerText": null
},
{
"blankPosition": 3,
"correctChoice": {
"choiceText": "element"
},
"correctAnswerText": null
}
]
},
{
"title": "연산자 문제",
"problemType": "FILL_IN_THE_BLANK",
"category": "연산자",
"difficulty": 3,
"problemContent": {
"content": "다음 코드는 a를 b로 나눈 몫을 구하는 연산을 수행합니다. 빈칸에 알맞은 연산자를 채워서 코드를 완성하세요.\n\na = 20\nb = 6\nresult = a $blank1$ b\nprint('The quotient is:', result)\n\n빈칸에 들어갈 알맞은 연산자를 채우세요.",
"numberOfBlanks": 1
},
"problemChoices": [
{
"choiceText": "//"
},
{
"choiceText": "%"
},
{
"choiceText": "**"
},
{
"choiceText": "/"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "//"
},
"correctAnswerText": null
}
]
},
{
"title": "파일입출력",
"problemType": "FILL_IN_THE_BLANK",
"category": "파일입출력",
"difficulty": 4,
"problemContent": {
"content": "다음 파이썬 코드는 파일에 문자열을 저장하는 코드입니다.\n\nwith open('output.txt', $blank1$) as file:\n file.write('Hello!')\n\n빈칸에 알맞은 문자열을 채우세요.",
"numberOfBlanks": 1
},
"problemChoices": [
{
"choiceText": "'w'"
},
{
"choiceText": "'input.txt'"
},
{
"choiceText": "'r'"
},
{
"choiceText": "'i'"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "'w'"
},
"correctAnswerText": null
}
]
},
{
"title": "리스트 요소 빈도 계산",
"problemType": "FILL_IN_THE_BLANK",
"category": "1차원 리스트",
"difficulty": 3,
"problemContent": {
"content": "다음 파이썬 코드는 리스트에서 주어진 숫자의 빈도를 계산하여 반환하는 함수입니다. 빈칸을 채워서 코드를 완성하세요.\n\ndef count_frequency(numbers, target):\n count = 0\n for number in $blank1$:\n if number == $blank2$:\n count += 1\n return count\n\nnumbers = [1, 2, 2, 3, 4, 2, 5]\ntarget = 2\nprint(count_frequency(numbers, target))\n\n빈칸에 들어갈 알맞은 내용을 채우세요.",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "numbers"
},
{
"choiceText": "target"
},
{
"choiceText": "number"
},
{
"choiceText": "count"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "numbers"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "target"
},
"correctAnswerText": null
}
]
},
{
"title": "짝수만 추출하여 새로운 리스트 만들기",
"problemType": "FILL_IN_THE_BLANK",
"category": "1차원 리스트",
"difficulty": 3,
"problemContent": {
"content": "다음 파이썬 코드는 리스트에서 짝수만 추출하여 새로운 리스트를 만드는 코드입니다. 빈칸을 채워서 코드를 완성하세요.\n\nnumbers = [1, 2, 3, 4, 5, 6]\n\ndef filter_even(numbers):\n evens = []\n for number in $blank1$:\n if number % 2 $blank2$ 0:\n evens.append(number)\n return evens\n\nprint(filter_even(numbers))\n\n빈칸에 들어갈 알맞은 내용을 채우세요.",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "numbers"
},
{
"choiceText": "=="
},
{
"choiceText": "!="
},
{
"choiceText": "="
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "numbers"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "=="
},
"correctAnswerText": null
}
]
},
{
"title": "명시적 형변환",
"problemType": "FILL_IN_THE_BLANK",
"category": "자료형",
"difficulty": 2,
"problemContent": {
"content": "다음 코드는 문자열을 정수로 변환하는 코드입니다. 빈칸에 알맞은 내용을 채워서 코드를 완성하세요.\n\nnum_str = '123'\nnum_int = $blank1$(num_str)\nprint('Integer value:', num_int)\n\n빈칸에 들어갈 알맞은 함수를 채워세요.",
"numberOfBlanks": 1
},
"problemChoices": [
{
"choiceText": "int"
},
{
"choiceText": "float"
},
{
"choiceText": "floor"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "int"
},
"correctAnswerText": null
}
]
},
{
"title": "2차원 리스트 합 구하기",
"problemType": "FILL_IN_THE_BLANK",
"category": "2차원 리스트",
"difficulty": 4,
"problemContent": {
"content": "다음 파이썬 코드는 2차원 리스트의 합계를 계산하는 코드입니다.\n\nmatrix = [[1, 2], [3, 4], [5, 6]]\nsum = 0\nfor row in range($blank1$):\n for j in range($blank2$):\n sum += matrix[row][j]\nprint(sum)\n\n빈칸에 알맞은 내용을 채우세요.",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "3"
},
{
"choiceText": "2"
},
{
"choiceText": "6"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "3"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "2"
},
"correctAnswerText": null
}
]
},
{
"title": "파일 입출력 문제",
"problemType": "FILL_IN_THE_BLANK",
"category": "파일입출력",
"difficulty": 4,
"problemContent": {
"content": "다음 코드는 파일에 데이터를 쓰는 코드입니다. 빈칸에 알맞은 내용을 채워서 코드를 완성하세요.\n\nwith open('data.txt', 'w') as file:\n $blank1$.$blank2$('Hello!')\n\n빈칸에 들어갈 알맞은 문자열을 채워서 파일에 데이터를 씁니다.",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "file"
},
{
"choiceText": "write"
},
{
"choiceText": "data"
},
{
"choiceText": "insert"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "file"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "write"
},
"correctAnswerText": null
}
]
},
{
"title": "함수와 람다 문제",
"problemType": "FILL_IN_THE_BLANK",
"category": "함수의 활용",
"difficulty": 3,
"problemContent": {
"content": "다음 코드는 두 숫자의 곱을 계산하는 람다 함수를 정의하는 코드입니다. 빈칸에 알맞은 내용을 채워서 코드를 완성하세요.\n\nmultiply = lambda a, b: $blank1$ * $blank2$\nresult = multiply(6, 7)\nprint('Result:', result)\n\n빈칸에 들어갈 알맞은 내용을 채우세요.",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "a"
},
{
"choiceText": "b"
},
{
"choiceText": "6"
},
{
"choiceText": "7"
},
{
"choiceText": "num1"
},
{
"choiceText": "num2"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "a"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "b"
},
"correctAnswerText": null
}
]
},
{
"title": "세트 문제",
"problemType": "FILL_IN_THE_BLANK",
"category": "자료형",
"difficulty": 3,
"problemContent": {
"content": "다음 코드는 두 세트의 합집합을 구하는 코드입니다. 빈칸에 알맞은 메서드를 채워서 코드를 완성하세요.\n\nset1 = {1, 2, 3}\nset2 = {3, 4, 5}\nunion_set = $blank1$.$blank2$(set2)\nprint('Union of sets:', union_set)\n\n빈칸에 들어갈 알맞은 메서드를 채워서 세트의 합집합을 구하세요.",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "set1"
},
{
"choiceText": "union"
},
{
"choiceText": "insert"
},
{
"choiceText": "add"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "set1"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "union"
},
"correctAnswerText": null
}
]
},
{
"title": "in 연산자 문제",
"problemType": "FILL_IN_THE_BLANK",
"category": "탐색",
"difficulty": 2,
"problemContent": {
"content": "다음 코드는 리스트에 특정 요소가 포함되어 있는지 확인하는 코드입니다. 빈칸에 알맞은 내용을 채워서 코드를 완성하세요.\n\nfruits = ['apple', 'banana', 'cherry']\nsearch_fruit = 'banana'\n$blank1$ search_fruit $blank2$ fruits:\n print('Fruit is in the list')\nelse:\n print('Fruit is not in the list')\n\n빈칸에 들어갈 알맞은 연산자를 채우세요.",
"numberOfBlanks": 2
},
"problemChoices": [
{
"choiceText": "if"
},
{
"choiceText": "in"
},
{
"choiceText": "is"
},
{
"choiceText": "include"
}
],
"problemAnswers": [
{
"blankPosition": 1,
"correctChoice": {
"choiceText": "if"
},
"correctAnswerText": null
},
{
"blankPosition": 2,
"correctChoice": {
"choiceText": "in"
},
"correctAnswerText": null
}
]
},
{
"title": "배열의 최대값 찾기",
"problemType": "MULTIPLE_CHOICE",
"category": "1차원 리스트",
"difficulty": 2,
"problemContent": {
"content": "배열이 주어질 때, 배열의 요소 중 가장 큰 값을 찾아서 반환하는 프로그램을 작성하세요. 배열은 정수로만 구성되어 있으며, 배열의 크기는 1 이상 100 이하입니다.",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "배열의 첫 번째 요소를 최대값으로 설정하고, 배열을 순회하며 최대값을 갱신한다."
},
{
"choiceText": "배열을 오름차순 정렬한 후 첫번째 요소를 반환한다."
},
{
"choiceText": "배열을 내림차순 정렬한 후 마지막 요소를 반환한다."
},
{
"choiceText": "배열의 요소를 모두 더한 값을 반환한다."
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "배열의 첫 번째 요소를 최대값으로 설정하고, 배열을 순회하며 최대값을 갱신한다."
},
"correctAnswerText": null
}
]
},
{
"title": "문자열에서 특정 문자 개수 세기",
"problemType": "MULTIPLE_CHOICE",
"category": "자료형",
"difficulty": 2,
"problemContent": {
"content": "주어진 문자열에서 특정 문자가 몇 번 나타나는지 세는 프로그램을 작성하세요.",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "문자열을 순회하며 각 문자를 비교하여 특정 문자의 개수를 세기."
},
{
"choiceText": "문자열을 정렬한 후 특정 문자가 몇 개 있는지 세기."
},
{
"choiceText": "문자열에서 특정 문자만 추출하여 그 길이를 반환하기."
},
{
"choiceText": "문자열을 대문자로 변환한 후 특정 문자의 개수를 세기."
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "문자열을 순회하며 각 문자를 비교하여 특정 문자의 개수를 세기."
},
"correctAnswerText": null
}
]
},
{
"title": "소수 판별",
"problemType": "MULTIPLE_CHOICE",
"category": "알고리즘",
"difficulty": 3,
"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
}
]
},
{
"title": "정렬된 배열에서 이진 탐색",
"problemType": "MULTIPLE_CHOICE",
"category": "탐색",
"difficulty": 4,
"problemContent": {
"content": "정렬된 배열과 검색할 값이 주어질 때, 이진 탐색 알고리즘을 사용하여 값을 찾는 프로그램을 작성하세요. 배열은 오름차순으로 정렬되어 있습니다.",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "중간값과 검색할 값을 비교하여 배열의 절반을 반복적으로 탐색한다."
},
{
"choiceText": "배열의 모든 요소를 순차적으로 비교하여 검색할 값을 찾는다."
},
{
"choiceText": "배열을 정렬한 후 이진 탐색을 수행한다."
},
{
"choiceText": "배열을 역순으로 정렬한 후 이진 탐색을 수행한다."
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "중간값과 검색할 값을 비교하여 배열의 절반을 반복적으로 탐색한다."
},
"correctAnswerText": null
}
]
},
{
"title": "이진 탐색",
"problemType": "MULTIPLE_CHOICE",
"category": "탐색",
"difficulty": 3,
"problemContent": {
"content": "정렬된 배열과 검색할 값이 주어질 때, 이진 탐색 알고리즘을 사용하여 값을 찾는 프로그램을 작성하세요. 배열은 오름차순으로 정렬되어 있습니다.",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "중간값과 검색할 값을 비교하여 배열의 절반을 반복적으로 탐색한다."
},
{
"choiceText": "배열을 정렬한 후 인접한 중복 요소를 제거한다."
},
{
"choiceText": "배열의 모든 요소를 순차적으로 비교하여 검색할 값을 찾는다."
},
{
"choiceText": "배열의 모든 요소를 2배로 만들어 중복을 피한다."
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "배열을 정렬한 후 인접한 중복 요소를 제거한다."
},
"correctAnswerText": null
}
]
},
{
"title": "정수의 합 구하기",
"problemType": "MULTIPLE_CHOICE",
"category": "1차원 리스트",
"difficulty": 2,
"problemContent": {
"content": "정수 배열이 주어질 때, 배열의 모든 요소의 합을 계산하는 프로그램을 작성하세요.",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "배열을 순회하며 각 요소를 누적하여 합을 계산한다."
},
{
"choiceText": "배열을 정렬한 후 첫 번째 요소와 마지막 요소의 합을 계산한다."
},
{
"choiceText": "배열의 요소를 제곱하여 합을 계산한다."
},
{
"choiceText": "배열의 평균값을 구한 후 평균값에 배열의 길이를 곱한다."
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "배열을 순회하며 각 요소를 누적하여 합을 계산한다."
},
"correctAnswerText": null
}
]
},
{
"title": "중복 문자 제거",
"problemType": "MULTIPLE_CHOICE",
"category": "자료형",
"difficulty": 3,
"problemContent": {
"content": "주어진 문자열에서 모든 중복 문자를 제거한 새로운 문자열을 반환하는 프로그램을 작성하세요.",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "문자열을 순회하며 각 문자를 집합에 추가한 후 집합을 문자열로 변환한다."
},
{
"choiceText": "문자열을 정렬한 후 앞에서 부터 순회하며 인접한 문자가 같으면 제거한다."
},
{
"choiceText": "문자열의 각 문자를 개수에 따라 정렬한다."
},
{
"choiceText": "문자열의 각 문자를 ASCII 값으로 변환한다."
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "문자열을 순회하며 각 문자를 집합에 추가한 후 집합을 문자열로 변환한다."
},
"correctAnswerText": null
}
]
},
{
"title": "두 정수의 최대공약수 (GCD)",
"problemType": "MULTIPLE_CHOICE",
"category": "알고리즘",
"difficulty": 4,
"problemContent": {
"content": "두 정수가 주어질 때, 두 정수의 최대공약수(GCD)를 계산하는 프로그램을 작성하세요.",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "유클리드 알고리즘을 사용하여 최대공약수를 계산한다."
},
{
"choiceText": "두 수의 배수 중 작은 값을 찾아 최대공약수를 계산한다."
},
{
"choiceText": "두 수의 평균을 계산하여 최대공약수를 추정한다."
},
{
"choiceText": "두 수의 차를 계산하여 최대공약수를 추정한다."
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "유클리드 알고리즘을 사용하여 최대공약수를 계산한다."
},
"correctAnswerText": null
}
]
},
{
"title": "반복문을 활용한 출력 결과 예측",
"problemType": "MULTIPLE_CHOICE",
"category": "반복문",
"difficulty": 2,
"problemContent": {
"content": "다음 코드의 출력 결과를 예측하세요.\n\npython\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
}
]
},
{
"title": "반복문을 통한 곱셈 결과 예측",
"problemType": "MULTIPLE_CHOICE",
"category": "반복문",
"difficulty": 2,
"problemContent": {
"content": "다음 코드의 출력 결과를 예측하세요.\n\npython\nresult = 1\nfor i in range(1, 6):\n result *= i\nprint(result)\n",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "120"
},
{
"choiceText": "60"
},
{
"choiceText": "24"
},
{
"choiceText": "10"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "120"
},
"correctAnswerText": null
}
]
},
{
"title": "리스트의 인덱스와 반복문을 이용한 출력 결과 예측",
"problemType": "MULTIPLE_CHOICE",
"category": "1차원 리스트",
"difficulty": 3,
"problemContent": {
"content": "다음 코드의 출력 결과를 예측하세요.\n\npython\nnumbers = [1, 2, 3, 4, 5]\nfor index, value in enumerate(numbers):\n print(index, value, end=' ')\n",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "0 1 1 2 2 3 3 4 4 5"
},
{
"choiceText": "1 1 2 2 3 3 4 4 5 5"
},
{
"choiceText": "0 1 2 3 4 1 2 3 4 5"
},
{
"choiceText": "0 1 2 3 4 1 2 3 4 5"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "0 1 1 2 2 3 3 4 4 5"
},
"correctAnswerText": null
}
]
},
{
"title": "조건문과 반복문을 이용한 출력 결과 예측",
"problemType": "MULTIPLE_CHOICE",
"category": "조건문",
"difficulty": 2,
"problemContent": {
"content": "다음 코드의 출력 결과를 예측하세요.\n\npython\nfor i in range(10):\n if i % 2 == 0:\n print(i, end=' ')\n",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "0 2 4 6 8"
},
{
"choiceText": "1 3 5 7 9"
},
{
"choiceText": "1 2 3 4 5"
},
{
"choiceText": "2 4 6 8 10"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "0 2 4 6 8"
},
"correctAnswerText": null
}
]
},
{
"title": "문자열 처리와 반복문을 이용한 출력 결과 예측",
"problemType": "MULTIPLE_CHOICE",
"category": "자료형",
"difficulty": 2,
"problemContent": {
"content": "다음 코드의 출력 결과를 예측하세요.\n\npython\ntext = 'hello'\nfor char in text:\n print(char.upper(), end=' ')\n",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "HELLO"
},
{
"choiceText": "H E L L O"
},
{
"choiceText": "hELLO"
},
{
"choiceText": "H e L l O"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "H E L L O"
},
"correctAnswerText": null
}
]
},
{
"title": "중첩 반복문을 이용한 출력 결과 예측",
"problemType": "MULTIPLE_CHOICE",
"category": "반복문",
"difficulty": 3,
"problemContent": {
"content": "다음 코드의 출력 결과를 예측하세요.\n\npython\nfor i in range(3):\n for j in range(2):\n print(i * j, end=' ')\n",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "0 0 0 1 0 2"
},
{
"choiceText": "0 1 2 3 4 5"
},
{
"choiceText": "0 0 1 2 2 4"
},
{
"choiceText": "0 0 0 1 2 3"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "0 0 0 1 0 2"
},
"correctAnswerText": null
}
]
},
{
"title": "딕셔너리와 반복문을 이용한 출력 결과 예측",
"problemType": "MULTIPLE_CHOICE",
"category": "자료형",
"difficulty": 2,
"problemContent": {
"content": "다음 코드의 출력 결과를 예측하세요.\n\npython\ndata = {'a': 1, 'b': 2, 'c': 3}\nfor key, value in data.items():\n print(key, value, end=' ')\n",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "a 1 b 2 c 3"
},
{
"choiceText": "1 a 2 b 3 c"
},
{
"choiceText": "a b c 1 2 3"
},
{
"choiceText": "1 2 3 a b c"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "a 1 b 2 c 3"
},
"correctAnswerText": null
}
]
},
{
"title": "함수와 반복문을 이용한 출력 결과 예측",
"problemType": "MULTIPLE_CHOICE",
"category": "함수의 활용",
"difficulty": 2,
"problemContent": {
"content": "다음 코드의 출력 결과를 예측하세요.\n\npython\ndef square(x):\n return x * x\n\nfor i in range(3):\n print(square(i), end=' ')\n",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "0 1 4"
},
{
"choiceText": "1 4 9"
},
{
"choiceText": "1 2 3"
},
{
"choiceText": "0 1 2"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "0 1 4"
},
"correctAnswerText": null
}
]
},
{
"title": "딕셔너리에서 특정 키의 값을 찾는 코드의 출력 예측",
"problemType": "MULTIPLE_CHOICE",
"category": "자료형",
"difficulty": 1,
"problemContent": {
"content": "다음 코드를 실행한 후 my_dict['b']의 값을 예측하세요.\n\npython\nmy_dict = {'a': 1, 'b': 2, 'c': 3}\nprint(my_dict['b'])\n\n",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "2"
},
{
"choiceText": "1"
},
{
"choiceText": "3"
},
{
"choiceText": "KeyError"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "2"
},
"correctAnswerText": null
}
]
},
{
"title": "리스트의 요소를 역순으로 출력하는 코드의 결과 예측",
"problemType": "MULTIPLE_CHOICE",
"category": "1차원 리스트",
"difficulty": 2,
"problemContent": {
"content": "다음 코드를 실행한 후 출력 결과를 예측하세요.\n\npython\nnumbers = [5, 10, 15, 20]\n\nfor num in reversed(numbers):\n print(num, end=' ')\n\n",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "20 15 10 5"
},
{
"choiceText": "5 10 15 20"
},
{
"choiceText": "20 15 10"
},
{
"choiceText": "5 10 15"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "20 15 10 5"
},
"correctAnswerText": null
}
]
},
{
"title": "튜플의 합계와 평균을 계산하는 함수의 출력 예측",
"problemType": "MULTIPLE_CHOICE",
"category": "자료형",
"difficulty": 2,
"problemContent": {
"content": "다음 코드를 실행한 후 함수의 반환값을 예측하세요.\n\npython\nnumbers = (4, 8, 12)\n\ntotal = sum(numbers)\naverage = total / len(numbers)\nprint(total, average)\n\n",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "24 8.0"
},
{
"choiceText": "12 4.0"
},
{
"choiceText": "24 6.0"
},
{
"choiceText": "20 6.0"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "24 8.0"
},
"correctAnswerText": null
}
]
},
{
"title": "리스트의 요소를 역순으로 출력하는 코드의 결과 예측",
"problemType": "MULTIPLE_CHOICE",
"category": "1차원 리스트",
"difficulty": 2,
"problemContent": {
"content": "다음 코드를 실행한 후 출력 결과를 예측하세요.\n\npython\nnumbers = [5, 10, 15, 20]\n\nfor num in numbers[::-1]:\n print(num, end=' ')\n\n",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "20 15 10 5"
},
{
"choiceText": "5 10 15 20"
},
{
"choiceText": "20 15 10"
},
{
"choiceText": "5 10 15"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "20 15 10 5"
},
"correctAnswerText": null
}
]
},
{
"title": "조건문에 따라 다른 문자열을 출력하는 코드의 결과 예측",
"problemType": "MULTIPLE_CHOICE",
"category": "조건문",
"difficulty": 2,
"problemContent": {
"content": "다음 코드를 실행한 후 출력 결과를 예측하세요.\n\npython\nn = 10\n\nif n > 10:\n result = 'Greater than 10'\nelif n == 10:\n result = 'Equal to 10'\nelse:\n result = 'Less than 10'\n\nprint(result)\n\n",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "Equal to 10"
},
{
"choiceText": "Greater than 10"
},
{
"choiceText": "Less than 10"
},
{
"choiceText": "No Output"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "Equal to 10"
},
"correctAnswerText": null
}
]
},
{
"title": "리스트에서 최대값과 최소값을 찾는 코드의 출력 예측",
"problemType": "MULTIPLE_CHOICE",
"category": "1차원 리스트",
"difficulty": 2,
"problemContent": {
"content": "다음 코드를 실행한 후 출력 결과를 예측하세요.\n\npython\nnumbers = [3, 7, 2, 9, 4]\n\nmax_value = max(numbers)\nmin_value = min(numbers)\nprint('Max:', max_value, 'Min:', min_value)\n\n",
"numberOfBlanks": 0
},
"problemChoices": [
{
"choiceText": "Max: 9 Min: 2"
},
{
"choiceText": "Max: 7 Min: 2"
},
{
"choiceText": "Max: 9 Min: 3"
},
{
"choiceText": "Max: 7 Min: 3"
}
],
"problemAnswers": [
{
"blankPosition": null,
"correctChoice": {
"choiceText": "Max: 9 Min: 2"
},
"correctAnswerText": null
}
]
}
]