🔅코딩테스트 공부🔅/❗백준
[백준] 2501번 약수 구하기 (with python)
윤무무
2023. 1. 8. 14:42
https://www.acmicpc.net/problem/2501
2501번: 약수 구하기
첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다.
www.acmicpc.net
문제 : 두 개의 자연수 N과 K가 주어졌을 때, N의 약수들 중 K번째로 작은 수를 출력하는 프로그램을 작성하시오.
1. 내가 작성한 코드
N,K = input().split()
N = int(N)
K = int(K)
result = []
for i in range(1,N+1):
if (N % i) == 0:
result.append(i)
i = i + 1
length = len(result)
if length < K:
print("0")
else :
print(result[K-1])
2. 고칠 점
N,K = input().split()
N = int(N)
K = int(K)
- N, K = map(int, input().split()) 함수를 이용해서 간략화 시켜야겠다.
length = len(result)
if length < K:
print("0")
- 굳이 length라는 변수를 추가하지 않아도 'len(result) < K'로 IF문의 조건식을 만들면 된다.
3. 모범 답안
N, K = map(int, input().split())
result = []
for i in range(1,N+1):
if (N % i) == 0:
result.append(i)
i = i + 1
if len(result) < K:
print("0")
else :
print(result[K-1])