66. 플러스 원
발행: (2026년 1월 1일 오후 10:01 GMT+9)
2 min read
원문: Dev.to
Source: Dev.to
문제 설명
정수 배열 digits가 주어집니다. digits[i]는 해당 정수의 i번째 자리 숫자를 나타냅니다. 숫자는 가장 높은 자리부터 낮은 자리 순서(왼쪽→오른쪽)로 정렬되어 있습니다. 정수는 앞에 0이 없습니다.
작업: 정수를 1만큼 증가시킨 뒤, 결과 배열을 반환합니다.
예시
| 입력 | 출력 | 설명 |
|---|---|---|
digits = [1,2,3] | [1,2,4] | 123 + 1 = 124 |
digits = [4,3,2,1] | [4,3,2,2] | 4321 + 1 = 4322 |
digits = [9] | [1,0] | 9 + 1 = 10 |
제약 조건
1 = 0; $i--) {
솔루션 (PHP)
<?php
function plusOne(array $digits): array {
$carry = 1;
for ($i = count($digits) - 1; $i >= 0; $i--) {
$sum = $digits[$i] + $carry;
$digits[$i] = $sum % 10;
$carry = intdiv($sum, 10);
if ($carry === 0) {
break; // no further propagation needed
}
}
if ($carry === 1) {
array_unshift($digits, 1);
}
return $digits;
}
// Test cases
print_r(plusOne([1, 2, 3])); // [1, 2, 4]
print_r(plusOne([4, 3, 2, 1])); // [4, 3, 2, 2]
print_r(plusOne([9])); // [1, 0]
?>