Menu
Coddy logo textTech

카운트다운 표시하기

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

challenge icon

챌린지

쉬움

세 개의 입력을 받게 됩니다: 이벤트 배열을 나타내는 JSON 문자열, 오늘 날짜를 나타내는 YYYY-MM-DD 형식의 날짜 문자열, 그리고 카운트다운을 표시할 이벤트 이름입니다.

첫 번째 입력은 다음과 같은 형식의 JSON 문자열입니다: [{"name":"Team Meeting","date":"2024-04-15","location":"Office"},{"name":"Conference","date":"2024-05-20","location":"Convention Center"}]

두 번째 입력은 다음과 같은 형식의 날짜 문자열입니다: 2024-04-01

세 번째 입력은 다음과 같은 형식의 이벤트 이름입니다: Team Meeting

세 입력을 모두 읽고 JSON 문자열을 이벤트 배열로 디코딩하세요. 제공된 이벤트 이름과 일치하는 이벤트를 찾으세요. 오늘 날짜와 이벤트 날짜 모두에 대해 DateTime 객체를 생성하세요.

이벤트 날짜와 오늘 날짜 사이의 차이를 계산하세요. 오늘의 DateTime 객체에서 diff() 메서드를 사용하고, 이벤트의 DateTime 객체를 매개변수로 전달하세요. 이는 DateInterval 객체를 반환합니다. 이 객체의 days 속성에 접근하여 두 날짜 사이의 일수를 구하세요.

다음 형식으로 카운트다운을 출력하세요:

Countdown to [event name]: [number of days] days

배열에서 이벤트를 찾을 수 없는 경우, 다음을 출력하세요: Event not found

입력 형식:

  • 첫 번째 줄: name, date, location 키를 가진 이벤트 배열을 나타내는 JSON 문자열
  • 두 번째 줄: 오늘 날짜를 나타내는 YYYY-MM-DD 형식의 날짜 문자열 (예: 2024-04-01)
  • 세 번째 줄: 카운트다운을 표시할 이벤트 이름 (예: Team Meeting)

예상 출력: Countdown to [event name]: [number of days] days 형식의 카운트다운을 보여주는 한 줄, 또는 이벤트가 존재하지 않는 경우 Event not found

직접 해보기

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

// JSON 문자열을 이벤트 배열로 디코딩
$events = (array)json_decode($jsonString, true);

// TODO: 아래에 코드를 작성하세요
// 제공된 이벤트 이름과 일치하는 이벤트를 찾습니다
// 오늘 날짜와 이벤트 날짜에 대한 DateTime 객체를 생성합니다
// diff() 메서드를 사용하여 차이를 계산합니다
// DateInterval 객체에서 days 속성에 접근합니다

// 결과 출력
echo $result;
?>

논리 & 흐름의 모든 레슨