문제 설명
자연수로 이루어진 리스트 numbers와 목표값 m이 주어집니다. 리스트에 있는 서로 다른 인덱스의 두 원소를 선택하여 그 합이 m을 넘지 않으면서 m에 가장 가까운 값을 찾아 반환하는 solution 함수를 작성하시오.
예를 들어, 리스트가 [10, 20, 30, 40, 50]이고 m이 65라면, 가능한 두 수의 합은 30, 40, 50, 60, 70, 80, 90 등입니다. 이 중에서 m 이하이면서 m과 가장 가까운 합은 60입니다.
제한 사항
-
numbers의 길이는 2 이상 100 이하입니다. -
numbers의 각 원소는 1 이상 10,000 이하의 자연수입니다. -
m은 2 이상 20,000 이하의 자연수입니다. -
numbers에 있는 가장 작은 두 원소의 합은 항상m이하입니다. (즉, 서로 다른 두 수의 합이m이하가 되는 쌍이 적어도 1개 존재합니다.)
예시 테스트케이스 설명
| 테스트케이스 번호 | numbers | m | return |
|---|---|---|---|
| 1 | [10, 20, 30, 40, 50] | 65 | 60 |
| 2 | [1, 3, 7, 9] | 8 | 8 |
| 3 | [100, 101, 102, 10] | 205 | 203 |
1번 테스트케이스 설명
가능한 서로 다른 두 수의 합 조합 중 60이 m = 65 이하이면서 가장 가까우므로, 정답은 60입니다.
2번 테스트케이스 설명
두 수의 합은 다음과 같습니다:
가능한 서로 다른 두 수의 합 조합 중 8이 m = 8과 같으므로, 정답은 8입니다.
3번 테스트케이스 설명
두 수의 합은 다음과 같습니다:
가능한 서로 다른 두 수의 합 조합 중 203이 m = 205 이하이면서 가장 가까우므로, 정답은 203입니다.