Skip to content

Commit d1015bd

Browse files
Merge pull request #612 from gmlrude/main
[박희경] 88차 라이브 코테 제출
2 parents 795a71d + 7ba3618 commit d1015bd

3 files changed

Lines changed: 82 additions & 0 deletions

File tree

live8/test88/문제1/박희경.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
def solution(sequence, k):
2+
answer = []
3+
4+
i, j = 0, 0
5+
total = sum(sequence[i: j + 1])
6+
while i + j < len(sequence) * 2 - 1:
7+
if i <= j:
8+
if total == k:
9+
answer.append([i, j])
10+
total -= sequence[i]
11+
i += 1
12+
j += 1
13+
if j < len(sequence):
14+
total += sequence[j]
15+
elif total < k:
16+
j += 1
17+
if j < len(sequence):
18+
total += sequence[j]
19+
else:
20+
total -= sequence[i]
21+
i += 1
22+
23+
# res = []
24+
# if len(answer) == 1:
25+
# return answer[0]
26+
# min_diff = float("inf")
27+
# for ans in answer:
28+
# diff = ans[1] - ans[0]
29+
# if diff < min_diff:
30+
# res = ans
31+
# min_diff = diff
32+
# return res
33+
answer = sorted(answer, key=lambda x: x[1] - x[0]) # 코드 개선
34+
return answer[0]

live8/test88/문제2/박희경.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import sys
2+
3+
input = sys.stdin.readline
4+
5+
n, m = map(int, input().split())
6+
a = list(map(int, input().split()))
7+
b = list(map(int, input().split()))
8+
9+
res = []
10+
i, j = 0, 0
11+
while i < n and j < m:
12+
if a[i] == b[j]:
13+
res.append(a[i])
14+
res.append(b[j])
15+
i += 1
16+
j += 1
17+
elif a[i] < b[j]:
18+
res.append(a[i])
19+
i += 1
20+
else:
21+
res.append(b[j])
22+
j += 1
23+
24+
# 한쪽은 다 탐색했는데 한 쪽은 남았을 경우
25+
while i < n:
26+
res.append(a[i])
27+
i += 1
28+
while j < m:
29+
res.append(b[j])
30+
j += 1
31+
32+
print(*res)

live8/test88/문제3/박희경.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
def solution(n, lost, reserve):
2+
# 도난 당한 학생이 여벌을 가지고 있을 경우 고려
3+
lost_set = set(lost) - set(reserve)
4+
reserve_set = set(reserve) - set(lost)
5+
6+
answer = n - len(lost_set)
7+
8+
for i in sorted(lost_set):
9+
if i - 1 in reserve_set:
10+
reserve_set.remove(i - 1)
11+
answer += 1
12+
elif i + 1 in reserve_set:
13+
reserve_set.remove(i + 1)
14+
answer += 1
15+
16+
return answer

0 commit comments

Comments
 (0)