-
프로그래머스 : 위장코딩테스트 문제 풀이/프로그래머스 2023. 11. 20. 00:01
문제 설명
내 코드
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; } }
아오
질문하기 참고해서 진짜 겨우겨우 풀었다
코딩테스트는 내일부턴 슥 보고 못풀겠으면 건너뛰거나
다른사람 문제 보고 이해해보다가 안되면 넘겨야겠다.
해야될 공부를 못하게 되서 너무 속상 😬1. 옷 몇종류인지 hash map 이용해서 찾기
HashMap<String, Integer> h = new HashMap<>(); for (String[] s: clothes) { h.put(s[1], 0); }
hash map의 키는 중복될수 없음을 이용해서 옷의 종류만 hash map에 담았다.
2. 옷이 1종류일 경우
if (h.size() == 1) return clothes.length;
옷의 개수 반환하고 종료
3. 옷 종류별 수량 세기
for (String[] s: clothes) { h.put(s[1], h.get(s[1]) + 1); }
4. 총 나올수 있는 경우의 수 계산
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)
.
.
.
이런식으로 진행된다고 어느 천사같은 분이 올려놔 주셨다 ㅠ
이글 못봤다면 못풀었을것 같다.🥲'코딩테스트 문제 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 : K번째 수 (0) 2023.11.21 프로그래머스 : 프린터 (0) 2023.11.20 프로그래머스 : 나누어 떨어지는 숫자 배열 (0) 2023.11.20 프로그래머스 : 기능개발 (0) 2023.11.20 프로그래머스 : 같은 숫자는 싫어 (0) 2023.11.20