728x90
김태원 강사님의 강의를 보면서 알고리즘을 공부하고있다.
오늘은 K번째 큰수를 풀고있다.
이렇게 풀어서 채점은 맞긴했는데
더 좋은 방법이 있을것같다.
from itertools import combinations as c
if __name__=="__main__" :
n,k = map(int,input().split())
arr = list(map(int,input().split()))
set_arr = set()
arr = list(c(arr,3))
for i in range(len(arr)) :
tmp = 0
for j in arr[i] :
tmp+=j
set_arr.add(tmp)
arr = sorted(list(set_arr),reverse=True)
print(arr[k-1])
흠..
더 생각해봤는데
if __name__=="__main__" :
n,k = map(int,input().split())
arr = list(map(int,input().split()))
set_arr = set()
arr = list(c(arr,3))
for i in range(len(arr)) :
set_arr.add(arr[i][0]+arr[i][1]+arr[i][2])
arr = sorted(list(set_arr),reverse=True)
print(arr[k-1])
이정도 ?
선생님께서는 combination이 아닌 3중 for문을 이용해서 숫자 3개의 조합을 만드셨다.
여기서 permutation이 아닌 combination을 쓴 이유는 순서가 상관없이 같은 원소가 3개면 동일하기 때문이다.
반응형
'취업 > TIL' 카테고리의 다른 글
20231109_점수계산_[Python알고리즘] (2) | 2023.11.10 |
---|---|
20231108_주사위게임_[Python알고리즘] (1) | 2023.11.08 |
20231107_뒤집은소수_소수판별법[Python알고리즘] (1) | 2023.11.07 |
20231102_알고리즘(자릿수의 합,소수,웹서비스구조_두번째확장) (0) | 2023.11.04 |
20231101_TIL(알고리즘-대표값,정다면체_웹서비스구조 첫번째) (2) | 2023.11.01 |