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

딕셔너리 컴프리헨션

문제 설명PROBLEM

딕셔너리 컴프리헨션

문제

0 이상 limit 미만 정수를 키, 그 제곱을 값으로 갖는 딕셔너리를 반환하세요.

구현할 함수

square_dictionary(limit) -> dict[int, int]

입력

JSON 객체 {"limit": 0 이상 정수}

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

출력

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

구현 조건

  • 딕셔너리 컴프리헨션을 사용하세요.
  • 키는 정수 number, 값은 number * number로 만드세요.

공개 테스트

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

#이름InputExpected output
10부터 3{"limit":4}{"0":0,"1":1,"2":4,"3":9}
2빈 딕셔너리{"limit":0}{}
3한 항목{"limit":1}{"0":0}
개념 노트와 실수 포인트

컴프리헨션

  • [식 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 ...].