Skip to content

Commit 2638438

Browse files
Merge pull request #539 from gmlrude/main
[박희경] 67차 라이브 코테 제출
2 parents 7009ff1 + 2cc4226 commit 2638438

File tree

3 files changed

+102
-0
lines changed

3 files changed

+102
-0
lines changed

live6/test67/문제1/박희경.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
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)

live6/test67/문제2/박희경.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
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)

live6/test67/문제3/박희경.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
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)

0 commit comments

Comments
 (0)