Menu
Coddy logo textTech

복습 - 데이터 순회

Coddy PHP 여정의 기초 섹션에 포함된 레슨. 71개 중 53번째.

challenge icon

챌린지

쉬움

세 줄의 input을 읽습니다:

  1. 쉼표로 구분된 정수 목록 (예: 12,5,8,20,3,15,7)
  2. 최소 threshold 값
  3. maximum threshold 값

array를 처리하여 range 내에 포함되는 모든 numbers의 sum을 찾습니다 (minimum과 maximum 모두 inclusive). 먼저 number가 maximum threshold의 exactly double인지 확인하고, 그렇다면 즉시 break로 중지합니다. 그렇지 않으면 continue를 사용하여 range 의 numbers를 건너뜁니다.

첫 번째 줄은 explode로 읽으므로 $numbers에는 strings가 저장되고 $min$max는 integers입니다. 각 element를 intval() (또는 (int) cast)로 변환한 후 threshold와 비교하거나 sum에 더합니다.

두 줄을 출력합니다:

  1. range 내의 valid numbers의 sum
  2. sum에 더해진 numbers의 count

예시 1:

입력이 5,12,8,20,15,3,10, 5, 15라면 출력은 다음과 같아야 합니다:

50
5

(5 + 12 + 8 + 15 + 10 = 50, 다섯 개의 numbers가 range 5-15 내에 있습니다.)

예시 2:

입력이 2,8,12,20,6,14, 5, 10이라면 출력은 다음과 같아야 합니다:

8
1

(20은 max 10의 double이므로 처리가 중지됩니다. 그 지점 전에 8만 더해졌으므로 sum은 8이고 count는 1입니다.)

예시 3:

입력이 1,2,3,4,5, 10, 20이라면 출력은 다음과 같아야 합니다:

0
0

(어떤 numbers도 range 10-20 내에 포함되지 않습니다.)

직접 해보기

<?php
// 입력 읽기
$numbers = explode(',', trim(fgets(STDIN)));
$min = intval(trim(fgets(STDIN)));
$max = intval(trim(fgets(STDIN)));

// 변수 초기화
$sum = 0;
$count = 0;

// TODO: 여기에 코드를 작성하세요
// numbers 배열을 순회
// 'continue'를 사용하여 범위(min부터 max까지 포함) 밖의 숫자를 건너뛰기
// 최대 임계값의 정확히 두 배인 숫자를 만나면 'break' 사용
// 유효한 숫자의 합과 개수를 추적


// 결과 출력
echo $sum . "\n";
echo $count;
?>

기초의 모든 레슨

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