String
swea4861 회문
def check(lst, length):
for i in range(len(lst)-length+1):
if lst[i:i+length] == lst[i:i+length][::-1]:
return lst[i:i+length]
T = int(input())
for tc in range(1, T+1):
N, M = map(int, input().split())
box = [list(map(str, input())) for _ in range(N)]
for string in box:
ans = check(string, M)
if ans:
result = ans
sero_lst = []
for j in range(N):
for i in range(N):
sero_lst.append(box[i][j])
new_sero = [sero_lst[i*N:i*N+N] for i in range(N)]
for lst in new_sero:
ans_s = check(lst, M)
if ans_s:
result = ans_s
print('#{}'.format(tc), end=' ')
print(''.join(result))
swea4864 문자열 비교
T = int(input())
for tc in range(1, T+1):
find = input()
string = input()
s = 0
f = 0
while f < len(find) and s < len(string):
if string[s] != find[f]:
s -= f
f = -1
s += 1
f += 1
if f == len(find):
ans = 1
else:
ans = 0
print('#{} {}'.format(tc, ans))
swea4865 글자수
T = int(input())
for tc in range(1, T+1):
str1 = input()
str2 = input()
result = {}
for i in range(len(str1)):
cnt = 0
for j in range(len(str2)):
if str1[i] == str2[j]:
cnt += 1
result[str1[i]] = cnt
maxx = -987654321
for v in result.values():
if maxx < v:
maxx = v
print('#{} {}'.format(tc, maxx))
swea1216 회문2
def check(lst):
length = []
for p in range(1, len(lst)+1):
for i in range(len(lst)-p+1):
if lst[i:i+p] == lst[i:i+p][::-1]:
length.append(len(lst[i:i+p]))
break
maxx = length[0]
for i in range(len(length)):
if maxx < length[i]:
maxx = length[i]
return maxx
for tc in range(1, 11):
T = int(input())
plane = [list(map(str, input())) for _ in range(100)]
lst = []
for p in plane:
lst.append(check(p))
maxx1 = lst[0]
for i in range(len(lst)):
if maxx1 < lst[i]:
maxx1 = lst[i]
sero = []
for j in range(100):
for i in range(100):
sero.append(plane[i][j])
new_sero = [sero[i*100:i*100+100] for i in range(100)]
lst2 = []
for new in new_sero:
lst2.append(check(new))
maxx2 = lst2[0]
for i in range(len(lst2)):
if maxx2 < lst2[i]:
maxx2 = lst2[i]
if maxx1 < maxx2:
result = maxx2
else:
result = maxx1
print('#{} {}'.format(tc, result))
swea3143 가장빠른문자열타이핑
T = int(input())
for tc in range(1, T+1):
A, B = input().split()
cnt = 0
ans = 0
i = 0
while i < len(A):
if A[i:i+len(B)] == B:
cnt += 1
i += len(B)
else:
ans += 1
i += 1
result = ans + cnt
print('#{} {}'.format(tc, result))
swea5356 의석이의 세로로 말해요로로 말해요
T = int(input())
for tc in range(1, T+1):
words = [list(map(str, input())) for _ in range(5)]
sero = []
for j in range(15):
for i in range(len(words)):
if len(words[i]) > j:
sero.append(words[i][j])
else:
continue
print('#{}'.format(tc), end=' ')
print(''.join(sero))
swea5432 쇠막대기 자르기
T = int(input())
for tc in range(1, T+1):
metal = input()
cnt = 0
ans = 0
for i in range(len(metal)):
if metal[i] == '(':
cnt += 1
else:
cnt -= 1
if metal[i-1] == '(':
ans += cnt
else:
ans += 1
print('#{} {}'.format(tc, ans))
swea1221 GNS
def BubbleSort(lst):
for i in range(len(lst)-1, 0, -1):
for j in range(0, i):
if lst[j] > lst[j+1]:
lst[j], lst[j+1] = lst[j+1], lst[j]
return lst
T = int(input())
numbers = {"ZRO": 0, "ONE": 1, "TWO": 2, "THR": 3, "FOR": 4, "FIV": 5, "SIX": 6, "SVN": 7, "EGT": 8, "NIN": 9}
for tc in range(1, T+1):
test_case = input()
strings = list(map(str, input().split()))
result = []
for i in range(len(strings)):
for key, value in numbers.items():
if strings[i] == key:
strings[i] = value
result.append(value)
BubbleSort(result)
for i in range(len(result)):
for k, v in numbers.items():
if v == result[i]:
result[i] = k
print('#{}'.format(tc))
print(*result)