정보처리기사 실기PythonPython - 리스트 컴프리헨션과 조건난이도 3SHORT_ANSWER

정보처리기사 실기 Python - 리스트 컴프리헨션과 조건 기출문제 #446

문제

다음 Python 코드의 실행 결과를 쓰시오.

Python
data = [7, 8, 9, 10, 11, 12] result = [x // 2 if x > 9 else x + 1 for x in data] print(result)

정답

[8, 9, 10, 5, 5, 6]

[8, 9, 10, 5, 5, 6]

해설

리스트 컴프리헨션에서 조건부 표현식을 사용한 문제입니다. 각 원소 x에 대해 x > 9이면 x // 2(정수 나눗셈), 그렇지 않으면 x + 1을 적용합니다.

  • 7: 7 > 9는 False이므로 7 + 1 = 8
  • 8: 8 > 9는 False이므로 8 + 1 = 9
  • 9: 9 > 9는 False이므로 9 + 1 = 10
  • 10: 10 > 9는 True이므로 10 // 2 = 5
  • 11: 11 > 9는 True이므로 11 // 2 = 5
  • 12: 12 > 9는 True이므로 12 // 2 = 6 따라서 결과는 [8, 9, 10, 5, 5, 6]입니다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.