문제 번호
알고리즘 분류
수학, 구현, 문자열
문제 풀이
검색해보면 LCM을 이용하는 방법들이 주로 나온다.
그래서 나는 다른분께 질문해서 들은 내용으로 문제를 풀어보려고한다. 최대공배수를 구한다음 주어진 문자열들을 최대공배수 만큼 자른다. 그 후 잘린 문자열들을 비교해서 모두 같은내용이라면 '1' 이다.
const fs = require('fs');
const input = fs.readFileSync('무한 문자열/input.txt').toString().trim().split('\n');
let s = input.shift().trim();
let t = input.shift().trim();
function GCD(a,b){
while(b!=0){
let n = a%b;
a=b;
b=n;
}
return a;
}
let gcd = GCD(s.length,t.length);
let temp = [];
for(let i=0; i<s.length; i+=gcd){
temp.push(s.substring(i, i+gcd));
}
for(let i=0; i<t.length; i+=gcd){
temp.push(t.substr(i,i+gcd));
}
for(let i=0; i<temp.length; i++){
if(temp[i] !== temp[0]){
console.log(0);
return 0;
}
}
console.log(1);
특이사항
'Algorithm > BaeKJoon' 카테고리의 다른 글
[JS][백준]17070_파이프 옮기기 1 (0) | 2021.09.15 |
---|---|
[JS][백준]17406_배열 돌리기4 (0) | 2021.09.14 |
[JS][백준]3190_뱀 (0) | 2021.09.10 |
[JS][백준]14503_로봇 청소기 (0) | 2021.09.09 |
[JS][백준]14502_연구소 (0) | 2021.09.09 |