본문 바로가기

BOJ

[BOJ][Python] 백준 12871번 - 무한 문자열

728x90

문제 링크: https://www.acmicpc.net/problem/12871

 

12871번: 무한 문자열

첫째 줄에 s, 둘째 줄에 t가 주어진다. 두 문자열 s와 t의 길이는 50보다 작거나 같은 자연수이고, 알파벳 소문자로만 이루어져 있다. 

www.acmicpc.net


문제 풀이

두 문자열의 길이를 이용해 푸는 문제. A 문자열의 길이가 5이고 B 문자열의 길이가 7이라면 A 문자열을 7번 반복한 문자열을 만들고 B 문자열은 5번 반복해서 만들어진 문자열을 각각 A', B'라고 하면 A'와 B'가 같은지 확인해주면 된다.

길이가 최대 50이라서 문자열이 최대 길이가 2500라 메모리 초과나 시간 초과는 안나지만 최적화를 하려면 최소공배수를 이용하면 된다.

 

A 문자열의 길이가 50이고 B 문자열의 길이가 10이라면 위에서의 경우는 길이가 500이 됐지만, 최소공배수를 이용하면 A는 가만히 두고 B에 5번만 반복해주면 된다.

 

 

코드

728x90