File tree Expand file tree Collapse file tree 3 files changed +102
-0
lines changed
Expand file tree Collapse file tree 3 files changed +102
-0
lines changed Original file line number Diff line number Diff line change 1+ import sys
2+
3+ input = sys .stdin .readline
4+
5+ n , k = map (int , input ().split ())
6+ a = list (map (int , input ().split ()))
7+ cnt = 0
8+ res = - 1
9+
10+
11+ def merge (arr , start , mid , end ):
12+ global cnt , res
13+ i , j = start , mid + 1
14+ tmp = []
15+ while i <= mid and j <= end :
16+ if arr [i ] <= arr [j ]:
17+ tmp .append (arr [i ])
18+ i += 1
19+ else :
20+ tmp .append (arr [j ])
21+ j += 1
22+ while i <= mid :
23+ tmp .append (arr [i ])
24+ i += 1
25+ while j <= end :
26+ tmp .append (arr [j ])
27+ j += 1
28+
29+ i , t = start , 0
30+ while i <= end :
31+ arr [i ] = tmp [t ]
32+ cnt += 1
33+ if cnt == k :
34+ res = arr [i ]
35+ break
36+ i += 1
37+ t += 1
38+
39+
40+ def merge_sort (arr , start , end ):
41+ if start < end :
42+ mid = (start + end ) // 2
43+ merge_sort (arr , start , mid )
44+ merge_sort (arr , mid + 1 , end )
45+ merge (arr , start , mid , end )
46+
47+
48+ merge_sort (a , 0 , n - 1 )
49+ print (res )
Original file line number Diff line number Diff line change 1+ import sys
2+
3+ input = sys .stdin .readline
4+
5+ n , k = map (int , input ().split ())
6+ coin = []
7+ for _ in range (n ):
8+ coin .append (int (input ()))
9+
10+ coin = sorted (coin , reverse = True )
11+ res = 0
12+ for i in range (n ):
13+ if k // coin [i ] > 0 :
14+ res += k // coin [i ]
15+ k %= coin [i ]
16+
17+ print (res )
Original file line number Diff line number Diff line change 1+ import re
2+
3+
4+ def solution (str1 , str2 ):
5+ answer = 0
6+ str1 = str1 .lower ()
7+ str2 = str2 .lower ()
8+
9+ str1_list = []
10+ str2_list = []
11+ for i in range (0 , len (str1 ) - 1 ):
12+ word = str1 [i :i + 2 ]
13+ if re .match ("^[a-z]{2}$" , word ):
14+ str1_list .append (word )
15+
16+ for i in range (0 , len (str2 ) - 1 ):
17+ word = str2 [i :i + 2 ]
18+ if re .match ("^[a-z]{2}$" , word ):
19+ str2_list .append (word )
20+
21+ # 교집합 계산
22+ intersection = []
23+ temp_str2_list = str2_list [:] # (놓친부분) 초반엔 두 str 리스트 합치고 교집합 빼는 것으로 했는데 오답이었음
24+ for word in str1_list :
25+ if word in temp_str2_list :
26+ intersection .append (word )
27+ temp_str2_list .remove (word )
28+
29+ # 합집합 계산
30+ union = str1_list [:] + temp_str2_list
31+
32+ if len (union ) == 0 :
33+ return 65536
34+ else :
35+ similarity = len (intersection ) / len (union )
36+ return int (similarity * 65536 )
You can’t perform that action at this time.
0 commit comments