해시
-
프로그래머스 문제 풀이 베스트 앨범24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 5. 15:42
문제 URL 베스트 앨범 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이번 문제는 주어진 입력 음악의 genres, 음악의 플레이 횟수 plays를 이용하여 다음을 조건을 만족하는 리스트를 만드는 것입니다. 총 플레이 횟수가 많은 genre 별로 내림차순으로 정렬되어야 한다. 장르 내에서도 play 횟수 내림차순, 고유 번호 오름차순으로 정렬되어야 한다. 한 장르 당 최대 2개까지만 뽑아서, 플레이 목록을 만들 수 있다. 플레이 목록은 고유 번호로 하는 리스트이다. 이것들을 만족하는 리스트를 어떻게 만들 수 있을까요? 먼저 고유 번호는 각 배열의 인덱스를 뜻합니다. 입력에 대해서 표로 표현하면 다음과 같습니다. 인덱스 0 1 2 3 4 장르 classic pop clas..
-
프로그래머스 문제 풀이 위장24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 5. 15:38
문제 URL 위장 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이 문제에서 중요한 것은 2가지입니다. 입력은 "옷, 파츠" 쌍의 2차원 배열입니다. 옷의 이름은 1개입니다. 이 문제는 "해시 + 경우의 수"로 풀 수 있습니다. 무슨 말이냐, 첫 번째 입력을 보겠습니다. 입력 : [ ["yellow_hat", "headgear"], ["blue_sunglasses", "eyewear"], ["green_turban", "headgear"] ] 이 들어온 입력에 대해서 { 파츠 : 옷의 개수 } 쌍으로 저장하는 해시를 만들어 줍니다. 입력을 통해 만들어지는 해시 : { "headgear" : 2, "eyewear" : 1 } 이 때, 각 파츠를 조합해서 만들 수 있는 경우의..
-
프로그래머스 문제 풀이 전화번호 목록24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 5. 15:34
문제 URL 전화번호 목록 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이 문제는 전화번호부에 존재하는 번호 중, 다른 전화번호가 접두어인지 판별하는 문제, 즉 다른 전화번호로 시작하는 전화번호가 있는지, 판별하는 문제입니다. 정말 쉽게 풀면 전화번호부를 2번 순회하여, 해당 번호와 다른 번호를 비교하는 방법이 있습니다. 첫 번째 입력을 통해서 찬찬히 살펴보겠습니다. 입력: ["119", "97674223", "1195524421"] 여기서 "119"를 기준으로 "97674223", "1195524421" 순서대로 시작하는 문자열이 있는지 판별합니다. "119" - "97674223" : 둘 다 서로에게 시작하는 번호로 쓰이지 않음. "119" - "1195524421"..
-
프로그래머스 문제 풀이 완주하지 못한 선수24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 4. 15:23
이 문제는 이시윤 강사님의 프로그래머스 강좌 "파이썬을 무기로, 코딩테스트 광탈을 면하자!"를 보고 정리한 내용입니다. 문제 URL : 완주하지 못한 선수 Contents 문제 지문 파악하기 강사님의 알고리즘 풀이 구르미의 알고리즘 풀이 문제 지문 파악하기 문제에서 중요한 키 포인트는 2가지입니다. 동명이인이 있을 수 있다. 완주하지 못한 사람을 딱 1명이다. 가장 쉽게는 "completion"을 순회하면서, "participant"에서 같은 이름을 삭제하면 됩니다. 동명이인일 경우는 먼저 나온 이름을 삭제하고 그러다보면, 이름이 1개가 남을 것입니다. 코드는 이렇게 될겁니다. #include #include #include using namespace std; string solution(vector ..