[python 파이썬] 백준 2312번 수 복원하기
2021. 5. 8. 22:29ㆍAlgorithm/BOJ
반응형
문제풀이법
1) 소인수분해하는 코드
num = int(sys.stdin.readline())
su = 2 # 검사할 첫 값
so = [] # 소인수 저장할 리스트 변수
while su <= num: # 검사 값이 num보다 작은 동안
if num % su == 0: # 나머지가 없으면
so.append(su) # 소인수 리스트에 추가
num //= su # num을 검사 값으로 나눔
else: # 나머지 있는 경우엔
su += 1 # 검사 값 1 증가
# print(so) # 소인수 리스트 출력
2) 소인수 리스트에서 인수별 개수 세기 -> collections 라이브러리의 Counter 함수 사용하여 dictionary 형태로 값을 받고 반복문으로 출력한다.
dict = collections.Counter(so)
for key in dict:
print(key, dict[key])
참고자료
1. 소인수분해
blog.daum.net/sualchi/13720709
2. 딕셔너리 반복문 출력
반응형
'Algorithm > BOJ' 카테고리의 다른 글
[python 파이썬] 백준 4963번 섬의 개수 (0) | 2021.05.13 |
---|---|
[python 파이썬] 백준 5347번 LCM (0) | 2021.05.08 |
[python 파이썬] 백준 2010번 플러그 (0) | 2021.05.08 |
[python 파이썬] 백준 10610번 30 (0) | 2021.05.08 |
[python 파이썬] 백준 2875번 대회 or 인턴 (0) | 2021.05.08 |