Menu
Coddy logo textTech

챌린지: 고유 아이템 필터링

Coddy PHP 여정의 논리 & 흐름 섹션에 포함된 레슨. 68개 중 68번째.

challenge icon

챌린지

쉬움

중복된 항목이 포함될 수 있는 쉼표로 구분된 문자열 하나를 입력받습니다.

입력은 다음과 같은 형식의 문자열입니다: apple,banana,apple,orange,banana,grape,apple

입력 문자열을 읽고 이를 항목 배열로 분할하세요. array_filter()와 사용자 정의 콜백 함수를 사용하여 중복된 항목을 제거하고, 각 고유 항목의 첫 번째 발생만 유지하십시오.

이를 수행하기 위해, 이미 확인된 항목을 추적하는 콜백 함수를 만드세요. 콜백은 처음 발견된 항목에 대해서는 true를 반환하고, 중복된 항목에 대해서는 false를 반환해야 합니다. 콜백 외부의 변수를 사용하고 use (&$seen)을 통해 **참조에 의한 캡처(by reference)**를 수행하여 array_filter가 콜백을 호출할 때마다 업데이트가 유지되도록 할 수 있습니다.

필터링 후, 각 고유 항목을 원래 입력에 나타난 순서대로 별도의 줄에 출력하세요.

입력 형식:

  • 쉼표로 구분된 항목들이 포함된 한 줄 (예: apple,banana,apple,orange)

예상 출력: 각 고유 항목이 입력에 처음 나타난 순서대로 별도의 줄에 출력됨

직접 해보기

<?php
// 입력 읽기
$input = trim(fgets(STDIN));

// 입력을 배열로 분할
$items = explode(',', $input);

// TODO: 아래에 코드를 작성하세요
// 중복을 제거하기 위해 커스텀 콜백 함수와 함께 array_filter()를 사용하세요


// 각 고유 항목을 별도의 줄에 출력

?>

논리 & 흐름의 모든 레슨

직접 연습해 보세요: 온라인 PHP 컴파일러