function solution(cards) {
let result = 0;
for (let i = 0; i < cards.length; ++i) {
const groups = [[]];
const visited = Array(cards.length).fill(false);
let curr = cards[i] - 1;
while (curr >= 0) {
visited[curr] = true;
groups.at(-1).push(cards[curr]);
curr = cards[curr] - 1;
if (visited[curr]) {
groups.push([]);
curr = visited.findIndex((v) => v === false);
}
}
groups.sort((a, b) => b.length - a.length);
result = Math.max(result, groups[0].length * groups[1].length);
}
return result;
}
슬럼프가 와서 거의 3주를 쉬었는데 다행히 30분도 걸리지 않아서 풀 수 있는 문제였다.
오랜만에 보니까 문제부터 잘 읽히지 않아서 역시 공부는 꾸준히 해야 하는구나 싶었다.