https://school.programmers.co.kr/learn/courses/30/lessons/72411?language=java
풀이 방식
Step1 .
course의 사이즈만큼에 맞는 모든 조합의 배열을 찾는다.
모두 찾은 배열을 Map 의 Key 값에 넣고, 나온 숫자만큼은 value 값에 넣는다.
이 때, map.getOrDefulat 가 필요하다. (값이 없으면 0, 값이 있으면 +1. 해주기 위해서)
Step2.
최대값 max를 찾아주고, map의 key가 max 값이자 2 이상인 경우 결과값으로 저장한다.
* 이떄 주의해줘야하는 것이 xw = wx 동일한점으로 봐야한다는 것이다.
wx가 문자열 순서로 맞으므로, map에 넣기전에 문자열을 정리한 후 넣어주는 것이 맞겠다.
이 문제는 Map과 dfs 을 함께 사용하는 문제이다.
1시간 걸려서 풀었다.
'Algorithm Study' 카테고리의 다른 글
[leetcode] Array- Max Consecutive Ones (0) | 2022.09.10 |
---|---|
[프로그래머스] 오픈채팅방(level.2) / Java, HashMap (0) | 2022.08.20 |
[프로그래머스] 양궁대회(level2) / JAVA, DFS (0) | 2022.07.23 |
아이템18. 상속보다는 컴포지션을 사용하라 (0) | 2022.06.24 |
아이템17. 변경 가능성을 최소화하라 (0) | 2022.06.24 |