package codingtest.programmers;
import java.util.HashMap;
public class Test02 {
public static int solution(String[][] clothes) {
int answer = 0;
HashMap<String, Integer> h = new HashMap<>();
for (String[] s: clothes) {
h.put(s[1], 0);
}
if (h.size() == 1) return clothes.length;
for (String[] s: clothes) {
h.put(s[1], h.get(s[1]) + 1);
}
for (int i : h.values()) {
answer += i * (1 + answer);
}
return answer;
}
}
아오
질문하기 참고해서 진짜 겨우겨우 풀었다
코딩테스트는 내일부턴 슥 보고 못풀겠으면 건너뛰거나
다른사람 문제 보고 이해해보다가 안되면 넘겨야겠다.
해야될 공부를 못하게 되서 너무 속상 😬
HashMap<String, Integer> h = new HashMap<>();
for (String[] s: clothes) {
h.put(s[1], 0);
}
hash map의 키는 중복될수 없음을 이용해서 옷의 종류만 hash map에 담았다.
if (h.size() == 1) return clothes.length;
옷의 개수 반환하고 종료
for (String[] s: clothes) {
h.put(s[1], h.get(s[1]) + 1);
}
for (int i : h.values()) {
answer += i * (1 + answer);
}
질문하기에 어느분이 공식 유도해주셔서 보고 풀었다 ㅠㅠ
1
1 + (2 + 2 * 1)
1 + (2 + 2 * 1) + (3 + 3 * 5)
1 + (2 + 2 * 1) + (3 + 3 * 5) + (4 + 4 * 23)
.
.
.
이런식으로 진행된다고 어느 천사같은 분이 올려놔 주셨다 ㅠ
이글 못봤다면 못풀었을것 같다.🥲