학생에게 성적 추가하기
Coddy PHP 여정의 논리 & 흐름 섹션에 포함된 레슨 — 68개 중 35번째.
챌린지
쉬움기존 학생 성적부를 나타내는 JSON 객체, 학생의 이름, 그리고 추가할 성적까지 총 세 개의 입력을 받게 됩니다. 성적부는 학생 이름을 키(key)로 사용하며, 각 학생은 "id"와 "grades" 배열을 가집니다. 두 번째 입력은 학생의 이름이고, 세 번째 입력은 추가할 성적(숫자)입니다.
세 가지 입력을 모두 읽고, JSON 문자열을 성적부 배열로 변환한 뒤, 지정된 학생을 찾아 해당 학생의 성적 배열에 새 성적을 추가하고, print_r()을 사용하여 업데이트된 성적부를 출력하세요.
입력 형식:
- 첫 번째 줄: 기존 성적부를 나타내는 JSON 객체 (예:
{"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}}) - 두 번째 줄: 학생의 이름 (예:
Alice) - 세 번째 줄: 추가할 성적 (예:
88)
예상 출력: 지정된 학생의 성적 배열에 새 성적이 추가된 후, print_r()을 사용하여 표시된 업데이트된 성적부 배열
직접 해보기
<?php
// 성적부 JSON 문자열을 읽습니다.
$gradebookJson = fgets(STDIN);
// 학생의 이름을 읽습니다.
$studentName = trim(fgets(STDIN));
// 추가할 성적을 읽습니다.
$grade = intval(fgets(STDIN));
// JSON을 배열로 변환합니다.
$gradebook = (array)json_decode($gradebookJson, true);
// TODO: 아래에 코드를 작성하세요.
// 학생을 찾아 해당 학생의 성적 배열에 새 성적을 추가합니다.
// 업데이트된 성적부를 출력합니다.
print_r($gradebook);
?>