Level3 2

프로그래머스 - level3/베스트 앨범/C++

해결방법 총 두 가지의 자료구조를 사용했음 1) 많이 재생된 장르가 뭔지 → key를 장르로 하고 value에 같은 장르의 전체 재생 횟수를 뒀음 2) 같은 장르 내에서 많이 재생된 노래 순서 → 고유 번호, 장르, 재생횟수를 가지는 struct를 만들어서 sort 해줌 두 개를 재생 횟수를 기준으로, 내림차순(DESC) 정렬해줬음 코드 #include #include #include #include #include using namespace std; struct Music { int idx=0; string genre; int play = 0; Music(int _idx, string _g, int _p):idx(_idx), genre(_g), play(_p){} }; map maxGenre; boo..

프로그래머스 - level 3/최고의 집합/C++

해결방법 문제 설명에 두 가지 조건이 있는데, 그중 두 번째 조건인 "위 조건을 만족하면서 각 원소의 곱이 최대가 되는 집합"이라는 것에 힌트를 얻을 수 있음 원소의 곱이 최대 → 나눗셈을 활용하여 해결 원소들의 합(s)을 원소의 개수(n)으로 나눠 몫을 구하면 원소 1개를 구할 수 있음 그러면 s에서 위에서 구한 원소 1개를 빼주면 (s -= div) 나머지 원소도 구할 수 있음 n > s인 경우(예시의 n=2, s=1)에 대한 예외 처리도 추가해 주면 됨 코드 #include #include #include #include using namespace std; vector solution(int n, int s) { vector answer; if(n>s) { answer.push_back(-1); ..