[pro] 프로그래머스 level3 12907 거스름돈 (Java) - dp
[문제] https://school.programmers.co.kr/learn/courses/30/lessons/12907 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 1원, 2원, 5원이 있고 5원의 거스름돈을 거슬러줘야하는 상황. 1원 - 1 (1가지) 2원 - 1+1, 2 (2가지) 3원 - 1+1+1, 1+2 (2가지) 4원 - 1+1+1+1, 1+1+2, 2+2 (3가지) 5원 - 1+1+1+1+1, 1+1+1+2, 1+2+2, 5 (4가지) 즉 거스름돈 5원을 거슬러주기 위한 경우의 수는 다음과 같다. 1) 1원을 이용 (1+1+1+..
[pro] 프로그래머스 level3 12938 최고의 집합 (Java)
[문제] https://school.programmers.co.kr/learn/courses/30/lessons/12938 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 곱의 크기가 최대가 되기 위한 수들을 생각해보면 규칙을 찾을 수 있다. n=2, s=8이라면 [4, 4]가 최고의 집합이 될 것이다. n=3, s=9라면 [3, 3, 3]이 된다. 그렇다면 n=3, s=11이라면? [3, 4, 4]가 최고의 집합이 된다. s/n을 각 자리에 넣어준 후, 나머지가 있다면 +1씩 한 집합이 최고의 집합이 된다는 것을 알 수있다. 나머지를 한쪽으로 몬..