const readline = require('readline');
let rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let input = [];
rl.on('line', (line) => {
input.push(line.trim());
if (input.length === 2) {
rl.close();
}
});
rl.on('close', () => {
let str = input[1];
const set = new Set();
for (let i = 0; i < str.length; ++i) {
for (let j = 1; j <= str.length - 2; ++j) {
set.add(str.slice(i, i + j));
}
}
const arr = [...set];
arr.sort();
const obj = {};
arr.forEach((e, i) => (obj[e] = i + 1));
let result = 0;
for (let i = 1; i < str.length; ++i) {
for (let j = i + 1; j < str.length; ++j) {
let tmp = obj[str.slice(0, i)];
tmp += obj[str.slice(i, j)];
tmp += obj[str.slice(j)];
result = Math.max(result, tmp);
}
}
console.log(result);
process.exit();
});
1시간이 넘게 걸렸다.
2주차 됐다고 이렇게 갑자기 어려워지다니..! 완주가 멀어지는 기분이지만 ㅋㅋㅋ
그래도 풀었다!
완전 탐색이 뭔지 이제 느낌이 좀 오는 것 같다.