csct3434
[level 2] 혼자 놀기의 달인 - 131130 본문
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.Comparator;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
class Solution {
public int solution(int[] cards) {
List<HashSet<Integer>> groups = new LinkedList<>();
boolean[] selected = new boolean[cards.length + 1];
for (int card : cards) {
HashSet<Integer> group = new HashSet<>();
while (!selected[card]) {
selected[card] = true;
group.add(card);
card = cards[card - 1];
}
groups.add(group);
}
List<Integer> groupSizes = groups.stream()
.map(HashSet::size)
.sorted(Comparator.reverseOrder())
.collect(Collectors.toList());
return groupSizes.size() == 1 ? 0 : groupSizes.get(0) * groupSizes.get(1);
}
}
'프로그래머스' 카테고리의 다른 글
[level 2] 점 찍기 - 140107 (0) | 2024.03.05 |
---|---|
[level 2] 연속 부분 수열 합의 개수 - 131701 (0) | 2024.03.05 |
[level 2] 택배상자 - 131704 (0) | 2024.02.29 |
[level 2] 롤케이크 자르기 - 132265 (1) | 2024.02.29 |
[level 2] 귤 고르기 - 138476 (0) | 2024.02.29 |