Menu
Coddy logo textTech

학생에게 성적 추가하기

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

challenge icon

챌린지

쉬움

기존 학생 성적부를 나타내는 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);
?>

논리 & 흐름의 모든 레슨