프로그래밍 공부/알고리즘 공부46 2. 자료구조와 알고리즘 입문_한국정보올림피아드 T = int(input()) for t in range(T): N, s, e, k = map(int, input().split()) arr = list(map(int, input().split()))) arr = arr[s-1, e].sort() print('#' + t+1 + ' ' + arr[k-1]) 2. k번째 작은 수 N개의 숫자로 이루어진 숫자열이 주어지면 해당 숫자열중에서 s번째부터 e번째 까지의 수 중 k번째로 작은 수를 출력하는 프로그램을 작성하세요. ▣ 입력설명 첫 번째 줄에 테스트 케이스 T(1 2020. 10. 27. 1. 자료구조와 알고리즘 입문_한국정보올림피아드 # cnt로 몇번째 약수인지 구하고, 그게 k가 되면 출력하고 멈춤. # 그 과정에서 k가 총 약수의 개수보다 큰 경우 -1을 축력해야 하므로, for else 구문을 사용. cnt = 0 for i in range(1, N+1): if n%i == 0: cnt += 1 int cnt == k: print(i) break else: print(-1) 1. k번째 약수 어떤 자연수 p와 q가 있을 때, 만일 p를 q로 나누었을 때 나머지가 0이면 q는 p의 약수이다. 6을 예로 들면 6÷1=6...0 6÷2=3...0 6÷3=2...0 6÷4=1...2 6÷5=1...1 6÷6=1...0 그래서 6의 약수는 1, 2, 3, 6, 총 네 개이다. 두 개의 자연수 N과 K가 주어졌을 때, N의 약수들 중 K번.. 2020. 10. 27. 이전 1 ··· 9 10 11 12 다음