데일리루틴

TIL 0718 프로그래머스 소수 만들기 파이썬

loveistheway 2024. 7. 18. 20:55

for문이 여럿이고 그 안에 변수를 어떻게 배치하는지가 중요했던 문제였다.

오늘 코드카타 공유 시간에 팀원에게 배운 itertools 라이브러리를 적용했다.

 

약수의 개수를 사용해야 한다는 점에서 비슷한 문제인 '최대공약수/최소공배수 구하기' 문제는 쉽게 풀었는데, '소수 만들기' 문제는 약수가 생길 때마다 카운트를 올릴 리스트의 위치를 정하는 게 어려웠다. 가장 가까운 for문 안, 그 다음 가까운 for문 안, 모든 for문 밖 전부 배치해 print(yaksu)를 하며 답을 찾아갔다. 

answer변수는 for문 밖에 있어야 한다는 걸 아는데 yaksu변수 때문에 답이 나오지 않자 for문 안에도 넣어보고 역시 아닌 걸 알았다.

itertools.combinations(변수명, n) : 리스트형 변수에서 n가지씩의 모든 조합을 반환함

위 함수를 계산한 식에 sum을 씌울 수 있다.