-
[D3] SWEA 17319. 문자열문자열SWEA 2024. 4. 27. 23:26
1. 접근 방식
어떠한 문자열을 2번 붙여서
특정한 문자열을 만들어낼 수 있는지 물어보는 문제다.
ex)abc -> abcabc
만드고 싶은 문자열의 길이가 1일때
->불가능하다.
2일때
->가능하다.
ex) aa bb cc
3일때
->불가능하다.
4일때
->가능하다.
ex)abab aaaa bcbc
1)만들고 싶은 문자열의 길이가 홀수일 때 불가능
2)만들고 싶은 문자열의 길이가 짝수일 때 가능
2. 디테일한 구현
문자열의 길이가 짝수이고
딱 절반으로 짤랐을 때!
동일하면 된다.
[0:len(s)//2]와 [len(s)//2:]가
동일한 지 비교하면 된다.
3. 코드 구현
123456789101112131415161718if __name__=='__main__':# sys.stdin=open('input2.txt','r')t=int(input()) ## 총 테스트 케이스 개수for tc in range(t):n=int(input()) ##문자열의 길이s=input() ##문자열if len(s)%2!=0: ##홀수면print(f'#{tc+1} No')else: ##짝수면if s[0:len(s)//2]!=s[len(s)//2:]:print(f'#{tc+1} No')else:print(f'#{tc+1} Yes')cs 4. 깨달은 점 및 반성
역시 길이가 1부터 2,3,4, ~~ n까지
차근차근 살펴보면 된다는 것을 깨달았다.
그냥 문제 보고 멍하니 째려보지 말자.
일단 손으로 조건을 1부터 나열해보자
'SWEA' 카테고리의 다른 글
[D3] SWEA 16800. 구구단 걷기 (0) 2024.04.28 [D3] SWEA 17642. 최대 조작 횟수 (0) 2024.04.28 [D3] SWEA 17937. 큰 수의 최대공약수 (0) 2024.04.27 [D3] SWEA 18662. 등차수열 만들기 (0) 2024.04.27 [D3] SWEA 19003. 팰린드롬 문제 (0) 2024.04.27