정수 리스트 values에서 threshold보다 작은 항목을 모두 제거해요. 남은 항목의 원래 순서와 중복 개수는 유지해요. threshold와 같은 값은 남겨요.
solution(values, threshold)가 남은 리스트를 반환하도록 잘못된 한 줄을 고쳐 주세요. 함수가 입력 리스트 자체를 변경해도 괜찮아요.
매개변수와 반환값
- 길이 n은 1
300, 값과 threshold는 -100100이에요. - 모두 제거되면 빈 리스트를 반환해요.
예시
values = [1, 2, 7, 3, 8],threshold = 4이면 결과는[7, 8]이에요.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까지 반복해요. 하네스는 함수 호출을 위한 자체 연결이며 풀이의 반환 계약과 구분해요.