https://www.acmicpc.net/problem/2501
문제 : 두 개의 자연수 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])
'🔅코딩테스트 공부🔅 > ❗백준' 카테고리의 다른 글
[백준] 2525번 오븐 시계(with python) (0) | 2023.01.10 |
---|---|
[백준] 10870번 피보나치 수 5(with python) (0) | 2023.01.10 |
[백준] 2460번 지능형 기차2 (with python) (0) | 2023.01.10 |
[백준] 10818번 최소, 최대(with python) (0) | 2023.01.10 |
[백준] 3460번 이진수 (with python) (0) | 2023.01.09 |
댓글