Algorithm Study

[프로그래머스] 메뉴 리뉴얼(level.2) / JAVA, HashMap

hyun-1200 2022. 7. 23. 01:59

https://school.programmers.co.kr/learn/courses/30/lessons/72411?language=java 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

풀이 방식

Step1 .

course의 사이즈만큼에 맞는 모든 조합의 배열을 찾는다.

모두 찾은 배열을 Map 의 Key 값에 넣고, 나온 숫자만큼은 value 값에 넣는다.

이 때, map.getOrDefulat 가 필요하다. (값이 없으면 0, 값이 있으면 +1. 해주기 위해서)

Step2.
최대값 max를 찾아주고, map의 key가 max 값이자 2 이상인 경우 결과값으로 저장한다.
 
 * 이떄 주의해줘야하는 것이 xw = wx 동일한점으로 봐야한다는 것이다.
wx가 문자열 순서로 맞으므로, map에 넣기전에 문자열을 정리한 후 넣어주는 것이 맞겠다.
 

 

 

 

이 문제는 Map과 dfs 을 함께 사용하는 문제이다.

1시간 걸려서 풀었다.