[BOJ] 2501 - 약수 구하기 (🥉 브론즈 3티어)
사용 언어: Python3
문제
풀이
내 풀이
N, K = map(int, input().split())
cnt = 0 # 약수의 개수 카운트
for i in range(1, N + 1):
if N % i == 0:
cnt += 1
if cnt == K:
print(i)
break
else: # for ~ else
print(0)
- 테스트 케이스: 통과
- 제출 결과
다른 풀이
N, K = map(int, input().split())
print(([i for i in range(1, N + 1) if N % i == 0] + [0] * 10000)[K-1])
- 굉장히 파이써닉(pythonic)한 코드같다.
- 약수만 추출한 리스트에
[0]*10000
을 이어 붙인다- 🌟
N
의 범위가 10000 이하니까 약수의 개수가K
보다 작았을 때 0이 출력될 수 있도록 !!
- 🌟
- 완성된 리스트의
K-1
번째 원소를 출력한다.
💛 개인 공부 기록용 블로그입니다. 👻