728x90
문제
https://www.acmicpc.net/problem/11656
코드
//실버4 접미사 배열
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().trim().split("\r\n");
let suffix = []; //접미사들을 담을 배열
input = input.shift(); //배열에 담긴 문자열 빼내기
for (let i = 0; i < input.length; i++) {
suffix.push(input.slice(i)); //0부터 문자열길이만큼 slice하며 접미사배열에 넣기
}
console.log(suffix.sort().join("\n")); //사전 순으로 정렬 후 개행으로 구분하여 출력
후기
- 처음에는 문자열의 맨 앞부터 제거해나가는 것에 대해 slice함수가 생각이 안나서 문자열을 reverse해서 for문으로 돌려 한글자씩 suffix배열에 저장하며 저장한 걸 또 reverse함수써서 돌려놓고 이런식으로 구현했는데 결과적으로 정답은 맞았지만 다른 분들보다 메모리나 시간이 더 많이 걸렸고, slice함수가 생각나서 구현하니 바로 줄어들었다.
'알고리즘 > BOJ' 카테고리의 다른 글
[백준] 숫자 카드 / JavaScript / node.js (0) | 2022.02.04 |
---|---|
[백준] 차집합 / JavaScript / node.js (0) | 2022.02.03 |
[백준] 시리얼 번호 / JavaScript / node.js (0) | 2022.02.03 |
[백준] 국영수 / JavaScript / node.js (0) | 2022.02.03 |
[백준] K번째 수 / JavaScript / node.js (0) | 2022.02.03 |