첫 번째 질문입니다. 이것이 중복이거나 나쁜 도전이라면 저에게 소리 지르지 마십시오.
소개
나는이 도전에 대해 스스로 생각했고 초보자 코드 골퍼에게는 좋은 기본 퍼즐 인 것 같습니다. 또한 학습 할 코드 골프 언어를 결정하는 데 도움이 될 수 있습니다.
도전
보다 작거나 같은 정수 배열이 주어지면 배열 n
에서 정확히 합한 최소 숫자 수를 출력하거나 반환합니다 n
.
함수 또는 전체 프로그램을 작성하도록 선택할 수 있습니다.
입력
안전하게 가정 할 수 있습니다 0 <= n < 2^31
.
배열 의 길이를 지정 하는 선택적 parameter 와 함께 모든 종류의 배열 또는 목록을 가져옵니다 ( vector
C ++ 또는 Java의 LinkedList
경우 허용됨) .n
length
입력을 n
쉼표 나 공백으로 구분하여 공백으로 구분 된 문자열로 사용할 수도 있습니다 .
1 5 7 3 7 3 6 3 2 6 3,10
1 5 7 3 7 3 6 3 2 6 3 10
더 쉬운 경우.
산출
배열에서 정확히 합하는 최소 숫자 수를 출력하거나 반환합니다 n
. 위의 예를 사용하여 :
1 5 7 3 7 3 6 3 2 6 3,10
프로그램이 인쇄되어야합니다 :
2
합계되는 최소 숫자 10
는 2
( 7
및 3
) 이므로
해결책이없는 경우 빈 문자열을 제외 하고 음수, 0
"아니오 해결책"(스마트하지는 않지만) ∞
(제안 된대로) 또는 다른 잘못된 값을 인쇄하거나 반환 합니다.
입력 및 출력 예
입력:
1 5 7 3 7 3 6 3 2 6 3,10
143 1623 1646 16336 1624 983 122,18102
5 6 9,12
산출:
2
3
-1
채점
이것은 코드 골프이므로 바이트 단위의 가장 짧은 코드가 이깁니다.
최고의 답변은 크리스마스에 허용됩니다.
false
해결책이없는 경우에 대해 출력 할 수 있습니까?