반응형
문제
n개 숫자로 이루어진 숫자열이 주어지면 s번째부터 e번째까지의 순을 오름 차순으로 정렬했을 때 k번째로 나타나는 숫자를 출력하시오.
주의
출력문에 있는 #%d는 출력 예제에 #이 있기 때문에 #자체를 출력하기 위해 넣은 것 입니다.
풀이
T = int(input())
for i in range(T):
n, s, e, k = map(int, input().split())
#값을 입력 받아서 split기준으로 나누고 int로 바꿔준다.
#int형으로 바뀐 입력 받은 값들은 a라는 list안에 담기게 된다.
a=list(map(int, input().split()))
#s~e까지 받는데 0번째 인덱스부터 순서대로 배정받기 위해 [s-1:e]를 해줍니다.
#마지막 e는 자신을 포함하지 않으므로 추가 연산자가 필요하지 않습니다.
a=a[s-1:e]
#s~e까지 리스트로 받은 값을 오름차순 정렬을 해줍니다.
a.sort()
#%d로 받고 값을 받습니다.
#출력문 맨 앞에 #%d인 것은 출력 예제에서
# #1 7
# #2 6
#이런식으로 받기 때문에 앞에 #문자 자체를 출력하기 위해 넣었습니다.
print("#%d %d" %(i+1, a[k-1]))
반응형
'Algorithm > 파이썬 알고리즘 문제풀이 (코딩테스트대비)' 카테고리의 다른 글
[파이썬 알고리즘 문제풀이] : 자릿수의 합 (0) | 2021.12.20 |
---|---|
[파이썬 알고리즘 문제풀이] : 정다면체 (0) | 2021.12.16 |
[파이썬 알고리즘 문제풀이] : 대표값 (0) | 2021.12.10 |
[파이썬 알고리즘 문제풀이] : k번째 큰 수 (0) | 2021.12.08 |
[파이썬 알고리즘 문제풀이] : 최소 값 구하기 (0) | 2021.12.08 |
댓글