Menu
Coddy logo textTech

성적표 생성하기

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

challenge icon

챌린지

쉬움

하나의 입력을 받게 됩니다: 학생 성적부를 나타내는 JSON 객체입니다. 성적부는 학생 이름을 키(key)로 사용하며, 각 학생은 "id"와 테스트 점수가 포함된 "grades" 배열을 가집니다.

입력을 읽고, JSON 문자열을 성적부 배열로 변환한 뒤, 모든 학생에 대한 형식화된 성적표를 생성하세요. 각 학생에 대해 이름, 학생 ID, 모든 개별 성적, 그리고 소수점 둘째 자리까지 반올림한 평균 성적을 표시합니다.

출력 형식을 다음과 같이 정확히 맞추세요:

  • 헤더로 ===== REPORT CARD =====를 출력합니다.
  • 각 학생에 대해 다음을 출력합니다:
    • Student: [name]
    • ID: [student_id]
    • Grades: [grade1], [grade2], [grade3], ... (모든 성적은 쉼표와 공백으로 구분)
    • Average: [average] (소수점 둘째 자리까지 반올림)
    • 각 학생 사이에 빈 줄 추가 (마지막 학생 제외)

입력 형식: 성적부를 나타내는 JSON 객체가 포함된 한 줄 (예시: {"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}})

예상 출력: 각 학생의 이름, ID, 모든 성적 및 계산된 평균이 포함된 형식화된 성적표

직접 해보기

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

// JSON을 배열로 변환
$gradebook = (array)json_decode($input, true);

// 헤더 출력
echo "===== REPORT CARD =====\n";

// TODO: 아래에 코드를 작성하세요
// 성적부의 각 학생을 반복문으로 처리
// 각 학생에 대해:
//   - 이름 출력
//   - ID 출력
//   - 모든 성적 출력
//   - 평균 계산 및 출력 (소수점 둘째 자리까지 반올림)
//   - 학생들 사이에 빈 줄 추가 (마지막 학생 제외)

?>

논리 & 흐름의 모든 레슨