본문 바로가기
반응형

해시3

[프로그래머스] 해시 - 베스트앨범(파이썬 문제풀이) 문제 링크 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr 딕셔너리 두 개를 사용해 문제를 풀어봤습니다. genre_score : 각 장르별 속한 노래의 총 점수를 저장하는 딕셔너리 chk : 노래의 고유번호를 key 값으로 사용하고, value로 [해당 노래가 속한 장르의 점수, 해당 노래의 개별 점수]를 저장 이제 문제에 제시된 노래 수록 기준에 맞추어 정렬을 하고 추출을 하면 되겠습니다. for문으로 두 딕셔너리의 값을 설정한 뒤 sorted를 이용해 딕셔너리를 정렬했습니다. 먼저 수록 기준 1번을 맞.. 2021. 4. 2.
[프로그래머스] 해시 - 위장(파이썬 문제풀이) 문제 링크 코딩테스트 연습 - 위장 programmers.co.kr 간단한 수학 공식을 이용해 문제를 풀이했습니다. 각 옷의 종류마다 몇 개의 옷을 가지고 있는지 구하고 그 수를 모두 곱하면 그 수들을 조합한 경우의 수가 나오게 됩니다. 하지만 이렇게 계산하면 해당 옷의 종류가 포함되지 않았을 때의 경우의 수가 빠지게 되므로 (해당 옷의 종류 + 1)을 해준 값을 곱해야 원하는 결과가 나옵니다. 또 문제에서 반드시 한 개의 의상을 착용해야한다고 했으므로 모두 안입었을 경우의 수 하나를 최종 값에서 빼주어야 합니다. 다른 분들 코드를 보니 딕셔너리를 사용할 때 분기문으로 해당 키값이 현재 딕셔너리에 포함되어있나 확인하는 코드를 넣었는데, 저는 딕셔너리의 내장 함수 get을 이용하여 따로 분기 처리를 하지 .. 2021. 4. 1.
[프로그래머스] 해시 - 완주하지 못한 선수(파이썬 문제풀이) 문제 링크 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 간단하게 딕셔너리를 이용해 풀이를 해보았습니다. 파이썬에서는 딕셔너리로 해시 자료구조(키와 값을 쌍으로 갖는 자료구조)를 사용할 수 있습니다. 먼저 딕셔너리 변수를 하나 만들고, 참여자들의 수 만큼 +1 해주었습니다. 동명이인이 있을 수 있으므로 단순히 참여자가 있으면 1, 없으면 0으로 풀면 테스트 케이스 3번을 통과하지 못합니다. 마찬가지로 완주자를 for문으로 탐색하며 딕셔너리에서 -1을 해주면, 완주를 한 경우 딕셔너리에서 .. 2021. 3. 31.
반응형