가자미의 개발이야기
[알고리즘] K번째 큰 수 본문
#문제:
첫 줄에 자연수 N(3<=N<=100)과 K(1<=K<=50) 입력되고, 그 다음 줄에 N개의 카드값이 입력 된다.
만약 큰 수부터 만들어진 수가 25 25 23 23 22 20 19......이고 K값이 3이라면 K번째 큰 값 은 22입니다.
▣ 출력설명 첫 줄에 K번째 수를 출력합니다. K번째 수는 반드시 존재합니다.
▣ 입력예제 1
10 3
13 15 34 23 45 65 33 11 26 42
▣ 출력예제 1
143
import sys
#sys.stdin=open("input.txt", "rt")
N, K = map(int, input().split())
arr=list(map(int,input().split()))
arr2=[];
for i in range(0,len(arr)-2):
for p in range(i+1, len(arr)-1):
for q in range(p+1, len(arr)):
arr2.append(arr[i]+arr[p]+arr[q])
arr2=set(arr2)
arr2=list(arr2)
arr2.sort()
arr2.reverse()
print(arr2[K-1])
#몰랐거나 검색했던 내용
1. 파이썬에서 배열 선언
arr2=[];
2. 배열의 길이 구하는 법
arr.length()가 아닌 len(arr)
3. 배열의 중복을 없애는 법
리스트를 집합으로 만드는 set()함수를 사용
4. 배열의 index()함수
index함수는 인자로 받은 값이 존재하는 인덱스를 반환.
나는 인덱스를 인자로 받아 해당 값을 반환이라고 오해.
'Computer Science > 알고리즘' 카테고리의 다른 글
[알고리즘] 두 개의 정다면체 주사위 (0) | 2021.05.18 |
---|---|
[알고리즘] 대표값 구하기 (0) | 2021.05.16 |
[알고리즘] 약수 k번째 약수 구하기 (0) | 2021.05.11 |
[알고리즘] 약수 k번째 약수 구하기 (0) | 2021.05.09 |
[알고리즘] 차수 (0) | 2021.03.05 |