백준
[백준] 2501번 : 약수 구하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트
우당탕탕 개발자
2023. 10. 21. 15:27
728x90
반응형
2501번: 약수 구하기
첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다.
www.acmicpc.net
1. 문제 설명
2. 풀이과정
해당 문제는 약수를 구하고 원하는 순서에 위치한 약수를 출력하는 문제이다.
리스트에 약수를 저장하고 원하는 순서의 약수를 출력한다.
- sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
- N과 K를 입력받는다. N, K = map(int, sys.stdin.readline().split())
- 약수를 저장할 리스트를 생성한다. li = list()
- 1부터 N까지 반복하며 for i in range(1, N + 1)
- 만약 해당 수가 N의 약수이면 if (N % i == 0)
- 약수를 리스트에 추가한다. li.append(i)
- 만약 약수의 개수가 출력할 순서보다 같거나 많으면 if (len(li) >= K)
- 해당 순서의 약수를 출력한다. print(li[K - 1])
- 반면에 약수의 개수가 출력할 순서보다 적으면 else
- 0을 출력한다. print(0)
반응형
3. 소스코드
import sys
N, K = map(int, sys.stdin.readline().split())
li = list()
for i in range(1, N + 1):
if (N % i == 0):
li.append(i)
if (len(li) >= K):
print(li[K - 1])
else:
print(0)
728x90
반응형