Skip to content

Commit 4a6f22f

Browse files
committed
Update
1 parent 1b9716a commit 4a6f22f

27 files changed

+141
-0
lines changed
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Solutions/[01]_1.py

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
a = list(map(int, input().split(' ')))
2+
3+
ascending = True
4+
descending = True
5+
6+
for i in range(1, 8):
7+
if a[i] > a[i - 1]:
8+
descending = False
9+
elif a[i] < a[i - 1]:
10+
ascending = False
11+
12+
if ascending:
13+
print('ascending')
14+
elif descending:
15+
print('descending')
16+
else:
17+
print('mixed')

Solutions/[01]_2.py

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
n, m = list(map(int, input().split(' ')))
2+
data = list(map(int, input().split(' ')))
3+
4+
result = 0
5+
length = len(data)
6+
count = 0
7+
8+
for i in range(0, length):
9+
for j in range(i + 1, length):
10+
for k in range(j + 1, length):
11+
sum_value = data[i] + data[j] + data[k]
12+
if sum_value <= m:
13+
result = max(result, sum_value)
14+
15+
print(result)

Solutions/[02]_1.py

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
n = int(input())
2+
3+
count = 1
4+
stack = []
5+
result = []
6+
7+
for i in range(1, n + 1): # 데이터 개수만큼 반복
8+
data = int(input())
9+
while count <= data: # 입력 받은 데이터에 도달할 때까지 삽입
10+
stack.append(count)
11+
count += 1
12+
result.append('+')
13+
if stack[-1] == data: # 스택의 최상위 원소가 데이터와 같을 때 출력
14+
stack.pop()
15+
result.append('-')
16+
else: # 불가능한 경우
17+
print('NO')
18+
exit(0)
19+
20+
print('\n'.join(result)) # 가능한 경우

Solutions/[02]_2.py

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
test_case = int(input())
2+
3+
for _ in range(test_case):
4+
n, m = list(map(int, input().split(' ')))
5+
queue = list(map(int, input().split(' ')))
6+
queue = [(i, idx) for idx, i in enumerate(queue)]
7+
count = 0
8+
9+
while True:
10+
if queue[0][0] == max(queue, key=lambda x: x[0])[0]:
11+
count += 1
12+
if queue[0][1] == m:
13+
print(count)
14+
break
15+
else:
16+
queue.pop(0)
17+
else:
18+
queue.append(queue.pop(0))

Solutions/[02]_3.py

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
test_case = int(input())
2+
3+
for _ in range(test_case):
4+
data = input()
5+
left_stack = []
6+
right_stack = []
7+
8+
for i in data:
9+
if i == '-':
10+
if left_stack:
11+
left_stack.pop()
12+
elif i == '<':
13+
if left_stack:
14+
right_stack.append(left_stack.pop())
15+
elif i == '>':
16+
if right_stack:
17+
left_stack.append(right_stack.pop())
18+
else:
19+
left_stack.append(i)
20+
21+
left_stack.extend(reversed(right_stack))
22+
print(''.join(left_stack))

Solutions/[03]_1.py

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import hashlib
2+
3+
input_data = input()
4+
encoded_data = input_data.encode()
5+
result = hashlib.sha256(encoded_data).hexdigest()
6+
print(result)

Solutions/[03]_2.py

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
n = int(input())
2+
array = set(map(int, input().split()))
3+
m = int(input())
4+
x = list(map(int, input().split()))
5+
6+
for i in x:
7+
if i not in array:
8+
print('0')
9+
else:
10+
print('1')

Solutions/[03]_3.py

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
def find(x):
2+
if x == parent[x]:
3+
return x
4+
else:
5+
p = find(parent[x])
6+
parent[x] = p
7+
return parent[x]
8+
9+
def union(x, y):
10+
x = find(x)
11+
y = find(y)
12+
if x != y:
13+
parent[y] = x
14+
number[x] += number[y]
15+
16+
test_case = int(input())
17+
18+
for _ in range(test_case):
19+
f = int(input())
20+
parent = dict()
21+
number = dict()
22+
23+
for _ in range(f):
24+
x, y = input().split(' ')
25+
if x not in parent:
26+
parent[x] = x
27+
number[x] = 1
28+
if y not in parent:
29+
parent[y] = y
30+
number[y] = 1
31+
32+
union(x, y)
33+
print(number[find(x)])

0 commit comments

Comments
 (0)