swea4869 종이붙이기
def factorial(n):
result = 1
for i in range(2, n+1):
result *= i
return result
T = int(input())
for tc in range(1, T+1):
N = int(input())
box = []
total = 0
for i in range(N):
for j in range(N):
if 10 * i + 20 * j == N:
ten_cnt = i
twenty_cnt = j
total += int(factorial(ten_cnt + twenty_cnt)/(factorial(ten_cnt)*factorial(twenty_cnt)) * 2**twenty_cnt)
print('#{} {}'.format(tc, total))
swea4866 괄호검사
for tc in range(1, int(input())+1):
string = input()
stk = []
ans = 1
for i in range(len(string)):
if string[i] == '{' or string[i] == '(':
stk.append(string[i])
elif string[i] == '}' or string[i] == ')':
if stk:
chk = stk.pop()
if (chk == '(' and string[i] == '}') or (chk == '{' and string[i] == ')'):
ans = 0
else:
ans = 0
if stk:
ans = 0
print('#{} {}'.format(tc, ans))
swea4871 그래프 경로
def dfs(start):
visited.append(start)
for i in range(v+1):
if i not in visited and arr[start][i]:
dfs(i)
for tc in range(1, int(input())+1):
v, e = map(int,input().split())
visited = []
arr = [[0] * (v + 1) for _ in range(v + 1)]
for _ in range(e):
a, b = map(int, input().split())
arr[a][b] = 1
s, g = map(int, input().split())
dfs(s)
if g in visited:
print('#{} {}'.format(tc, 1))
else:
print('#{} {}'.format(tc, 0))
swea4873 반복문자지우기
def solve(string):
for i in range(len(string)-1):
if string[i] == string[i+1]:
string.pop(i)
string.pop(i)
solve(string)
for tc in range(1, int(input()) + 1):
string = input()
stk = []
for i in range(len(string)):
stk.append(string[i])
solve(stk)
print('#{} {}'.format(tc, len(stk)))
swea2005 파스칼의 삼각형
T = int(input())
for tc in range(1, T+1):
N = int(input())
P = [[1]]
for i in range(1, N):
row = [1]
for j in range(len(P[-1])-1):
summ = 0
for k in range(2):
summ += P[-1][j+k]
row.append(summ)
row.append(1)
P.append(row)
print('#{}'.format(tc))
for i in range(N):
print(*P[i])
swea1218 괄호 짝짓기
for tc in range(1, 11):
length = int(input())
bracket = input()
s = []
answer = 1
for i in range(length):
if bracket[i] == ')':
if '(' in s:
s.pop(s.index('('))
else:
answer = 0
elif bracket[i] == '}':
if '{' in s:
s.pop(s.index('{'))
else:
answer = 0
elif bracket[i] == ']':
if '[' in s:
s.pop(s.index('['))
else:
answer = 0
elif bracket[i] == '>':
if '<' in s:
s.pop(s.index('<'))
else:
answer = 0
else:
s.append(bracket[i])
print('#{} {}'.format(tc, answer))
swea1234 비밀번호
for tc in range(1, 11):
num, string = input().split()
length = int(num)
stack = []
for i in range(length):
stack.append(string[i])
if len(stack) > 1 and stack[-1] == stack[-2]:
stack.pop()
stack.pop()
print('#{}'.format(tc), end=' ')
for i in range(len(stack)):
print(''.join(stack[i]), end='')
print()
swea1219 길찾기
def DFS(v):
visted[v] = 1
for i in range(100):
if visted[i] == 0 and arr[v][i] == 1:
DFS(i)
for tc in range(1, 11):
num, E = map(int, input().split())
nodes = list(map(int, input().split()))
box = [nodes[i*2:i*2+2] for i in range(len(nodes)//2)]
arr = [[0] * 100 for _ in range(100)]
for i in range(E):
r = box[i][0]
c = box[i][1]
arr[r][c] = 1
visted = [0] * 100
DFS(0)
print('#{} {}'.format(tc, visted[-1]))