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
'BOJ' 카테고리의 다른 글
[BOJ][Python] 백준 14950번 - 정복자 (0) | 2022.02.11 |
---|---|
[BOJ][Python] 백준 7511번 - 소셜 네트워킹 어플리케이션 (0) | 2022.02.11 |
[BOJ][Python] 백준 24309번 - РАВЕНСТВО (0) | 2022.01.21 |
[BOJ][Python] 백준 23802번 - 골뱅이 찍기 - 뒤집힌 ㄱ (0) | 2022.01.21 |
[BOJ][Python] 백준 5373번 - 큐빙 (0) | 2022.01.20 |