Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- buffer
- JSON
- 메모리구조
- 윤성우의 열혈 자료구조
- 이스케이프 문자
- C programming
- Graph
- Serialization
- R
- datastructure
- insertion sort
- 이것이 자바다
- 윤성우 열혈자료구조
- C 언어 코딩 도장
- s
- Algorithm
- 혼자 공부하는 C언어
- 알기쉬운 알고리즘
- coding test
- list 컬렉션
- Stack
- stream
- Selection Sorting
Archives
- Today
- Total
Engineering Note
K번째 약수 본문
it 취업을위한알고리즘문제풀이
문제
코드
import sys
#sys.stdin = open("input.txt","rt")
N,K = map(int,input().split()) #띄어쓰기를 구분으로 읽어 들어와서 N,K에 int형으로 저장
cnt = 0
for i in range(1,N+1):
if N % i == 0:
cnt += 1
if cnt == K:
print(i)
break
else:
print(-1)
import sys
#sys.stdin = open("input.txt","rt")
N,K = map(int,input().split()) #띄어쓰기를 구분으로 읽어 들어와서 N,K에 int형으로 저장
num = []
cnt = 0
for i in range(1,N+1):
if N % i == 0:
num.append(i)
cnt += 1
if cnt<K:
print(-1)
else:
print(num[K-1])
문제해결방법
- i가 1부터 N까지 변할때 N을 i로 나누어서 나누어 떨어지는 경우 카운트 값을 증가시키면서 카운트가 K가 됐을 때 i를 출력하고 for문을 break한다.
- for문이 break를 만나지 못하고 끝까지 갔을 경우 K번째 약수가 존재하지 않는 경우 이므로 이때문 for else 구문으로 -1을 출력한다.
'Problem Solving > 파이썬 알고리즘 문제풀이(코딩테스트 대비)' 카테고리의 다른 글
정다면체 (0) | 2021.05.30 |
---|---|
자릿수의 합 (0) | 2021.05.30 |
대표값 (0) | 2021.05.29 |
K번째 큰 수 (0) | 2021.05.29 |
K번째 작은수 (0) | 2021.05.12 |
Comments