Python · 컴프리헨션·연습 문제

조건부 컴프리헨션

문제 설명PROBLEM

조건부 컴프리헨션

문제

0 이상 limit 미만 정수 중 divisor의 배수만 리스트로 반환하세요.

구현할 함수

multiples_below(limit, divisor) -> list[int]

입력

JSON 객체 {"limit": 0 이상 정수, "divisor": 양의 정수}

입력 파싱과 결과 출력은 숨겨진 I/O 어댑터가 자동으로 처리합니다. 에디터에는 요구된 함수 또는 메서드 구현만 작성하세요.

출력

함수 반환값을 공백 없는 JSON 한 개로 출력합니다.

구현 조건

  • if 조건이 포함된 리스트 컴프리헨션을 사용하세요.
  • % 연산자로 배수를 판별하세요.

공개 테스트

아래 테스트를 각각 독립된 프로세스로 실행합니다. 입력과 기대 출력은 실제 채점 순서와 같습니다.

#이름InputExpected output
13의 배수{"limit":10,"divisor":3}[0,3,6,9]
2빈 범위{"limit":0,"divisor":2}[]
3모두 선택{"limit":5,"divisor":1}[0,1,2,3,4]
개념 노트와 실수 포인트

컴프리헨션

  • [식 for x in 반복 if 조건] 한 줄로 리스트 생성.
  • 딕셔너리 {k:v for ...}, 집합 {x for ...}.
  • 중첩 [[i*j for j in ...] for i in ...] 은 바깥 i, 안쪽 j.
  • ⚠️ if 는 뒤(필터), 삼항은 앞: [x if 조건 else y for x in ...].