728x90
https://www.acmicpc.net/problem/16922
16922번: 로마 숫자 만들기
2, 6, 10, 11, 15, 20, 51, 55, 60, 100을 만들 수 있다.
www.acmicpc.net
from itertools import combinations_with_replacement
n = int(input())
array = [1, 5, 10, 50]
s = set()
for i in combinations_with_replacement(range(4), n):
sum = 0
for j in i:
sum+= array[j]
s.add(sum)
print(len(s))
중복조합문제 이다. python에서는 편리하게 module을 제공하고 있어서 이를 사용하였다.
처음엔 풀이대로 array에 숫자 대신 문자로 하여 복잡한 코드를 짜게 되었다. 장고 끝에 숫자로 변환해서 한 코드를 참고 하여 간단한 코드를 만들 수 있게 되었다.
728x90
'Algorithm > 백준' 카테고리의 다른 글
[백준] 10972 다음순열 (0) | 2023.03.17 |
---|---|
[백준] 156751 n과 m 3 (0) | 2023.03.15 |
[백준] 15650 n과 m 2 (0) | 2023.03.15 |
[백준] 15649 n과 m 1 (0) | 2023.03.15 |
[백준] 11728 배열 합치기 (0) | 2022.11.23 |