알고리즘/SWAE

[SWAE-Python] 4861. 회문1/4864. 문자열 비교/4865. 글자수

황성안 2021. 2. 18. 11:13
728x90

4861. 회문1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
= int(input())
for tc in range(1, T + 1):
    # N = 배열의 크기, M = 회문의 길이
    N, M = list(map(int, input().split()))
    arr = [0* N  # 영어가 들어갈 칸 만들기
 
    result = []
 
    #가로(R, 행) 확인
    r_lst = []
    #회문 모든 문자열 받기 , 배열의 크기만큼 i가 반복한다.
    for i in range(N):
        #문자 넣기
        char = input()
        #넣어진 문자를 바로 가로 확인 배열에 넣어준다.
        r_lst.append(char)
 
        for i in range(len(char)-M+1):
            #char에서 i 부터 회문의 길이+ i 까지 / 반대로 서로 맞춰보기
            if char[i:M+i] == char[i:M+i][::-1]:
                result.append(char[i:M+i])
 
    #세로(C, 행) 확인
    c_lst = []
    subc_lst = ''
    for r in range(N):
        for c in r_lst:
            subc_lst += c[r]
 
        c_lst.append(subc_lst)
        subc_lst= ''
        #print(c_lst)
 
        for c_char in c_lst:
            for j in range(len(c_char)-M+1):
                if c_char[j:M+j] == c_char[j:M+j][::-1]:
                    result.append(c_char[j:M+j])
 
    print("#{} {}".format(tc, result[0]))
 
cs

4864. 문자열 비교

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
= int(input())
 
for tc in range(1,T+1):
    str1 = input() #원하는 문자열
    str2 = input() #아무 문자열
 
    result = 0 # 결과값
 
    #길이 N 만큼 빼주고 반복
    for i in range(len(str2)-len(str1)+1):
        #조건문 : str2에서 str 길이만큼이 str1 과 같다면?
        if str2[i:i+len(str1)]== str1:
            result = 1
 
    print("#{} {}".format(tc, result))
cs

4865. 글자수

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
= int(input())
 
for tc in range(1,T+1):
    str1 = input() #원하는 문자열
    str2 = input() #아무 문자열
 
    cnt = 0
 
    #str1[0~N] 개별 str[0~N]대입
    for i in str1:                  #만약 인덱스로 하고싶다면 range(len(str1))
        temp = 0
        for j in str2:
            if i == j:              #위에서 인덱스로 값을 찾을때는 str1[i] ==str2[j] 이렇게 해주면된다!
                temp += 1
            if temp > cnt:
                cnt = temp
    print("#{} {}".format(tc, cnt))
 
# TC = int(input())
#
# for tc in range(1, TC+1):
#     str1 = input()
#     str2 = input()
#     sub_cnt, cnt = 0, 0
#
#     for i in str1:
#         for j in str2:
#             if i == j:
#                 sub_cnt += 1
#         if sub_cnt > cnt:
#             cnt = sub_cnt
#         sub_cnt = 0
#     print("#%d %d"%(tc, cnt))
cs
728x90