https://www.acmicpc.net/problem/11478
알고보면 쉬운 문제였는데 틀렸다 ㅎㅎ...
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(filePath).toString().trim();
console.log(input);
let size = 1;
let answerSet= new Set();
for(let i = 0; i<input.length; i++){
let cur = 0;
for(let j = 0; j<input.length-i; j++){
let piece = "";
let m = cur;
for(let k = 0; k<size; k++){
piece = piece + input[m];
m++;
}
cur++;
answerSet.add(piece);
}
size++;
}
console.log(answerSet.size);
굳이 for문을 세번이나 해주지 않아도 되었다.
for문 두번이면 모든 문자열 집합을 구할 수 있었는데 헛수고를 했다.
다른 사람 코드를 참고했다.
https://hawaiian-pizza-it.tistory.com/54
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(filePath).toString().trim();
let answerSet= new Set();
for(let i = 0; i<input.length; i++){
for(let j = i; j<input.length; j++){
answerSet.add(input.substring(i,j+1));
}
}
console.log(answerSet.size);