← 실전 문제

기준 미만의 표식 지우기

Python디버깅

정수 리스트 values에서 threshold보다 작은 항목을 모두 제거해요. 남은 항목의 원래 순서와 중복 개수는 유지해요. threshold와 같은 값은 남겨요.

solution(values, threshold)가 남은 리스트를 반환하도록 잘못된 한 줄을 고쳐 주세요. 함수가 입력 리스트 자체를 변경해도 괜찮아요.

매개변수와 반환값

  • 길이 n은 1300, 값과 threshold는 -100100이에요.
  • 모두 제거되면 빈 리스트를 반환해요.

예시

  1. values = [1, 2, 7, 3, 8], threshold = 4이면 결과는 [7, 8]이에요.
  2. values = [5, 5, 2, 5, 2], threshold = 5이면 결과는 [5, 5, 5]이에요.

실행용 입출력

첫 줄에 n threshold, 둘째 줄에 값 n개를 입력해요. 반환값들을 공백으로 출력해요. 빈 리스트이면 빈 줄을 출력해요.

예시 입력

5 4
1 2 7 3 8

예상 결과

7 8

예시 입력

5 5
5 5 2 5 2

예상 결과

5 5 5
핵심 개념
  • array-1d: 리스트는 순서와 중복을 유지해요. values[:] 또는 list(values)는 항목들을 담은 새 바깥 리스트를 만들어요. 여기서는 항목이 정수이므로 별도의 중첩 복사는 필요 없어요.
  • loops: 순회 중인 리스트에서 항목을 삭제하면 다음 항목의 위치가 앞으로 이동해요. 순회 대상과 삭제 대상을 구분해야 해요.
  • conditionals: < threshold는 기준보다 작은 경우예요. 같은 값은 삭제하지 않아요.

.remove(value)는 그 값의 첫 번째 항목 하나를 삭제해요. 값을 여러 번 제거하면 해당 중복 개수만큼 삭제돼요.

입력 하네스의 input()은 한 줄의 문자열을 읽고, .split()은 공백으로 항목을 나눠요. map(int, ...)는 각 항목을 정수로 바꾸고 list(...)는 그 결과를 리스트로 모아요. range(n)은 0부터 n-1까지 반복해요. 하네스는 함수 호출을 위한 자체 연결이며 풀이의 반환 계약과 구분해요.

코드 작성과 채점은 로그인 후 이용해요

로그인하고 풀기