백준 11478

정재상·2023년 1월 1일
0

알고리즘

목록 보기
3/4

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);



profile
https://navy-kileskus-43e.notion.site/IT-79badd30c2d24170b63ca636522b450c?pvs=4

0개의 댓글