BoBo World

[Programmers] #120812 - 최빈값 구하기 [Java][C++][Python]

문제 링크 1. 아이디어 정수 배열 array가 주어질 때 최빈값을 찾되, 최빈값이 여러 개면 -1을 반환하면 되는 문제다. array의 원소가 0 이상 1000 미만으로 제한되므로, 값별 등장 횟수를 크기 1000짜리 배열(또는 해시맵)에 세어두고 가장 큰 카운트를 가진 값을 찾으면 된다. 이때 최댓값 카운트를 가진 값이 둘 이상이면 -1을...

[Programmers] #42578 - 의상 [Java][C++][Python]

문제 링크 1. 아이디어 의상 목록 clothes가 주어질 때, 종류별로 최대 1가지씩만 착용하면서 최소 한 개는 입어야 하는 조합의 수를 구하면 되는 문제다. 먼저 해시맵으로 종류별 의상 개수를 셌다. 각 종류마다 “그 종류를 안 입기”와 “그 종류의 의상 중 하나를 입기” 중 하나를 고를 수 있으므로, 종류별 경우의 수는 (해당 종류 의상...

[Programmers] #1845 - 폰켓몬 [Java][C++][Python]

문제 링크 1. 아이디어 총 $N$마리의 폰켓몬 중 절반($N / 2$마리)을 선택할 때, 가능한 한 많은 종류를 가져가려면 서로 다른 종류의 수와 선택 가능한 마리 수 중 작은 쪽을 고르면 된다. 서로 다른 종류의 수보다 더 많이 골라봐야 어차피 중복이 생기고, 선택 가능한 마리 수보다 많이 가져갈 수도 없기 때문이다. 따라서 해시 집합에 ...