복습 - 데이터 순회
Coddy PHP 여정의 기초 섹션에 포함된 레슨. 71개 중 53번째.
챌린지
쉬움세 줄의 input을 읽습니다:
- 쉼표로 구분된 정수 목록 (예:
12,5,8,20,3,15,7) - 최소 threshold 값
- maximum threshold 값
array를 처리하여 range 내에 포함되는 모든 numbers의 sum을 찾습니다 (minimum과 maximum 모두 inclusive). 먼저 number가 maximum threshold의 exactly double인지 확인하고, 그렇다면 즉시 break로 중지합니다. 그렇지 않으면 continue를 사용하여 range
첫 번째 줄은 explode로 읽으므로 $numbers에는 strings가 저장되고 $min과 $max는 integers입니다. 각 element를 intval() (또는 (int) cast)로 변환한 후 threshold와 비교하거나 sum에 더합니다.
두 줄을 출력합니다:
- range 내의 valid numbers의 sum
- 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 컴파일러