본문 바로가기
interactive service/CS

파이썬 코딩 테스트 연습

by jessicahan96 2022. 8. 17.

1. 어떤 자연수 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번째로 작은 수를 출력하는 프로그램을 작성하라.

 

* 첫재 줄에 N의 약수들 중 K번째로 작은 수를 출력한다. 만일 N의 약수의 개수가 K개보다 적어서 K번째 약수가 존재하지 않을 경우에는 -1을 출력하라.

 

입력

6 3

출력

3

실행 코드

import sys
sys.stdin = open("input.txt", "rt")
n, k = map(int, input().split())
cnt = 0
for i in range(1, n+1):
    if n % 1 == 0 :
        cnt+=1
    if cnt == k :
        print(i)
        break
else:
    print(-1)

 

2. N개의 숫자로 이루어진 숫자열이 주어지면 해당 숫자열 중에서 e번째 까지의 수를 오름 차순 정렬했을 때 k번째로 나타나는 숫자를 출력하는 프로그램

첫번째 줄에 테스트 케이스 T(1<=T<=10)이 주어진다. 각 케이스 별 첫 번째 줄은 자연수 N(5<=N<=50), s, e, k가 주어진다. 두 번째 줄에 N개의 숫자가 차례로 주어진다.

 

입력

2
6 2 5 3
5 2 7 3 8 9
15 3 10 3
4 15 8 16 6 6 17 3 10 11 18 7 14 7 15

 

출력

#1 7
#2 6

 

실행코드

import sys
sys.stdin = open("input.txt", "rt")
T = int(input())
for t in range(T):
    n, s, e, k = map(int, input().split())
    a = list(map(int, input().split()))
    a = a[s-1:e]
    a.sort()
    print("#%d %d" %(t+1, a[k-1]))

 

'interactive service > CS' 카테고리의 다른 글

자바스크립트 코딩 테스트 연습  (0) 2022.08.17
아키텍처와 컴포지션  (0) 2022.06.04