티스토리 뷰
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/42578
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
프로그래머스 코딩테스트 고득점 Kit의 해시 Level 2 문제다.
문제는 쉬운데 어떻게 접근해야 할지 도저히 감이 안잡혀서
아래의 글을 참고했다.
https://school.programmers.co.kr/questions/33347
알고리즘을 활용한다기 보다는 중학교 때 배웠던 수학개념을 활용해야 하는 거였다. (ㅜㅜ)
옷 종류의 갯수를 각각 HashMap에 넣고그 갯수 + 1을 모두 곱한 값을 return하면 된다.
HashMap의 value값을 곱하기는 과정은 stream 람다식을 이용했는데,
람다식은 여러번 보고 써봐도 적응이 안되는 것 같다..ㅎㅎ
다음에 이런 문제를 보면 빠르게 접근할 수 있도록
이번 기회에 확실하게 머릿속에 넣어야겠다..!!!
import java.util.HashMap;
class Solution {
private static int cnt = 1;
public int solution(String[][] clothes) {
HashMap<String, Integer> h = new HashMap<String, Integer>();
for(int i=0;i<clothes.length;i++)
h.put(clothes[i][1], h.getOrDefault(clothes[i][1], 0) + 1);
h.entrySet().stream()
.forEach(type -> cnt *= (type.getValue() + 1));
return cnt - 1;
}
}
728x90
'algorithm > programmers' 카테고리의 다른 글
[프로그래머스/자바] 같은 숫자는 싫어 풀이 (0) | 2022.11.14 |
---|---|
[프로그래머스/자바] 베스트 앨범 풀이 (1) | 2022.11.14 |
[프로그래머스/자바] 전화번호 목록 풀이 (1) | 2022.11.14 |
[프로그래머스/자바] 폰켓몬 풀이 (1) | 2022.11.14 |
[프로그래머스/자바] 완주하지 못한 선수 풀이 (0) | 2022.11.14 |