목록pair (2)
N

map과 multimap을 사용했다. 인덱스와 재생 횟수, 장르, 장르 별 재생 횟수를 다뤄야 하기 때문에 상당히 복잡하게 코딩을 했다. multimap mm을 선언하였다. mm의 key는 genre, value는 재생 횟수와 해당 곡의 인덱스를 pair로 묶어서 값을 넣는다. map m. 각 장르별 재생된 총 횟수이다. 우선 모든 장르와 재생횟수, 총 재생 횟수를 for문을 통해 모두 다 넣는다. 다음 for문에서는 각 장르별로 2개씩 재생 횟수의 내림차순으로 정렬하여 mm에 넣는 작업을 한다. 내림차순 정렬을 하기 위해 vector v를 선언한다. 해당 장르의 재생 횟수와 인덱스를 v에 넣고 sort한다. sort의 desc는 pair 형태에 맞게 따로 정의했다. 정렬이 끝나면 원래 있던 mm의 장르..

DFS, BFS 두 방법으로 풀 수 있는 문제다. 본인은 BFS로 풀었다..! 우선 큐를 만들어 준다. 단어를 탐색하고, 해당 단어의 인덱스까지 pair로 묶어주어 q에 넣어준다. tmp_q는 임시 큐로 단계를 올릴 때 사용한다. 그리고 answer는 1로 초기화 하였다. 1단계의 단어를 바로 찾기 때문에 1로 초기화 하였다. 우선 words에 target이 있는지 확인한다. 없으면 바로 0 리턴. target이 words 안에 있다면 탐색을 시작한다. 1단계의 단어를 탐색하기 위해 0 ~ words.size()만큼 반복한다. 그리고 count를 이용하여 begin과 words[i]를 비교하여 한 개의 알파벳을 바꿀 수 있는지 확인한다. count가 begin.size() - 1 이라면 한 개의 알파벳을..