BoBo World

[Programmers] 42578번 - 의상 [Java][C++]

문제 링크 1. 아이디어 의상은 종류와 이름 두 가지로 구분되며 코니는 각 종류별로 최대 1가지 의상만 착용할 수 있다. 코니가 최소 한 개의 의상은 입어야 할 경우 코니가 입을 수 있는 서로 다른 옷의 조합의 수를 구해야 한다. 해당 문제는 경우의 수를 구하면 해결할 수 있는데 같은 이름을 가진 의상이 존재하지 않으므로 모든 의상에 대해 각...

[Programmers] 42576번 - 완주하지 못한 선수 [Java][C++]

문제 링크 1. 아이디어 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return하는 문제로 동명이인이 있을 수 있다는 점에 주의해야 한다. 해시맵을 활용해 마라톤에 참여한 선수의 이름과 수를 세주고, 완주한 선수의 이름과 수...

[Programmers] 1845번 - 폰켓몬 [Java][C++]

문제 링크 1. 아이디어 N마리의 폰켓몬 중 N/2마리를 선택할 때 가장 많은 종류의 폰켓몬을 선택하는 문제로 N마리의 폰켓몬의 종류의 수를 구하면 간단하게 해결할 수 있다. N마리의 폰켓몬의 종류의 수가 N/2 보다 크거나 같은 경우 각 종류마다 한 마리씩 N/2 종류를 선택할 수 있으며, N마리의 폰켓몬의 종류의 수가 N/2 보다 작은 경우...

[Programmers] 12900번 - 2 x n 타일링 [Java][C++]

문제 링크 1. 아이디어 전형적인 타일링 문제로 다이나믹 프로그래밍을 활용하면 해결할 수 있다. 가로 길이가 $N$ 인 바닥을 채우는 경우는, 가로 길이가 $N - 2$ 인 바닥을 채우는 경우들에서 오른쪽 끝에 타일을 가로로 배치한 경우이거나, 가로 길이가 $N - 1$ 인 바닥을 채우는 경우들에서 오른쪽 끝에 타일을 세로로 배치한 경우 중 ...