실버5
-
[Python] 백준 1037 약수Python_알고리즘 2021. 7. 10. 02:46
문제 바로가기 문제분석 # n의 진짜 약수는 1과 자기 자신을 제외한 약수이다. # 예를 들어 10의 약수는 1, 2, 5, 10이지만 진짜 약수는 2, 5뿐이다. # 같은 방법으로 20은 1, 2, 4, 5, 10, 20이지만 진짜 약수는 2, 4, 5, 10이다. # 문제에서는 진짜 약수가 주어졌을 때, n을 구하는 프로그램을 작성하라고 했다. # 약수가 순서대로 정렬이 되었을 때, 제일 처음 나오는 약수와 제일 끝에 나오는 약수를 곱하면 n이 나오는 방법을 이용한다. 문제풀이 n = int(input()) real = list(map(int, input().split())) real.sort() print(real[0] * real[-1]) # 약수의 개수를 입력값으로 받는다. # 입력값으로 받는 ..
-
[Python] 백준 4673 셀프 넘버Python_알고리즘 2021. 6. 29. 17:47
문제 바로가기 문제분석 # 33 => 33+3+3=39 일 때, 33은 39의 생성자라고 하고, 이런 생성자가 없는 숫자를 셀프 넘버라 한다. # 문제의 핵심은 생성자 함수를 만들고, 셀프넘버를 제외하는 # 함수를 돌려 생성자가 나오면 담을 리스트를 초기화 한다. # 주어진 범위의 수들을 반복문을 돌려 함수로 모든 수의 생성자를 찾아 리스트에 담는다. # 다시 주어진 범위의 수들을 하나씩 꺼내 리스트에 있는지 확인하고 없다면 그게 셀프 넘버가 되므로 출력한다. 문제풀이 def d(n):# 생성자를 구하는 함수 num = n + sum(map(int, str(n)))# 이 때 n이 생성자, num은 생성자가 있는 수가 된다. return num a = [0] * 10001# 생성자가 있는 수들을 모아 놓을..