문제
https://school.programmers.co.kr/learn/courses/30/lessons/12938
풀이
시도 1
각원소의 곱이 최대가 되기 위해서는 최대한 큰 시작값
의 원소를 찾아야한다. s를 n으로 나누었을때 나머지는 생각하지 않고 몫을 answer 배열의 n개만큼 채워놓고 for문을 돌면서 원소의 합이 s와 같지 않으면 1씩 더하면 된다.
어차피 n > s 이므로 포문을 돌면서 1을 더하면 무조건 s의 값까지는 도달할 수 있다.
solution.py
|
|
정확도 테스트는 전부 통과했지만 효율성 테스트에서 실패하여 75점
시도 2
나머지 값만큼만 합이 모잘랐기 때문에 포문은 나머지값만 돌면 되었다. 마지막에 리턴하지 sorted 하지 않고 배열의 끝부터 더하여 주었다.
solution.py
|
|
다른사람풀이
수학적 풀이 방법
solution.py
|
|