-
[D3] SWEA 15758. 무한 문자열SWEA 2024. 4. 29. 16:21
1. 접근 방식
본인은 문제 예시에 나오는
S 문자열의 크기가 6,
T 문자열의 크기가 4일 때
ex)ababab abab
T 문자열의 길이를 6로 맞추면
반복이 되니,
문자열의 길이가 작은 것을
큰 길이로 맞춰서
같으면 yes 아니면 no라는
바보같은 풀이에 빠져서 문제 풀이에 실패했다.
D3 문제는 수학적 개념이나 규칙성이 꼭 포함이 되는 것 같다.
S,T 문자열을 무한 반복시키는데
최소공배수만큼 반복이 된다.
2. 디테일한 구현
최소공배수를 구한 뒤
최소공배수만큼 문자열을 만들고
같은지 비교한다.
3. 코드 구현
123456789101112131415161718192021222324252627282930313233343536373839404142def check(a):x=len(a)m=g // x ##몇 세트 반복 되어야하는지p=g % x ##인덱스 얼마나 붙어야하는지tmp=''for _ in range(m):tmp+=atmp+=a[:p]return tmpif __name__=='__main__':# sys.stdin=open('input2.txt','r')test_case=int(input()) ## 총 테스트 케이스 개수for tc in range(test_case):a,b=input().split()i=1; j=1;x=len(a); y=len(b);#최소공배수 구하기while True:if x*i < y*j:i+=1elif x*i > y*j:j+=1else:g=x*i ##최소공배수breaks=check(a)t=check(b)if s==t:print(f'#{tc+1} yes')else:print(f'#{tc+1} no')cs 4. 깨달은 점 및 반성
규칙성!!!!!!!
'SWEA' 카테고리의 다른 글
[D3] SWEA 15230. 알파벳 공부 (0) 2024.04.30 [D3] SWEA 15612. 체스판 위의 룩 배치 (0) 2024.04.29 [D3] SWEA 15868. XOR 2차원 배열 (0) 2024.04.29 [D3] SWEA 16002. 합성수 방정식 (0) 2024.04.28 [D3] SWEA 16800. 구구단 걷기 (0) 2024.04.28