해시(3)
-
[Programmers, Lv.3] 코딩테스트 고득점 Kit - 해시 (3) (Python)
📎 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 문제설명, 제한사항, 입출력 예 스트리밍 사이트에서 장르별로 가장 많이 재생된 노래 두 개씩 모아 앨범을 출시하려고 한다. 노래와 장르는 고유 번호로 구분하며, 노래를 앨범에 수록할 때는 아래와 같은 기준을 따른다고 한다. 속한 노래가 많이 재생된 장르를 먼저 수록한다. (모든 장르는 재생된 횟수가 다르다.) 장르 내에서 많이 재생된 노래를 먼저 수록한다. (2곡을 수록할 거니, 한 장르에서 가장 많이 재생된 노래 2개를 수록한다는 뜻) 장르 내에서 재생 횟수가 같은 노래가 있다면, 고유 번호가 ..
2023.09.13 -
[Programmers, Lv.2] 코딩테스트 고득점 Kit - 해시 (2) (Python)
1. 전화번호 목록 (Level 2) (문제 설명, 제한사항, 입출력 예) 전화번호부에 적힌 전화번호를 담은 배열 phone_book이 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를, 그렇지 않으면 true를 반환하라는 문제이다. 각 전화번호의 길이는 1 이상 20 이하이며, 같은 전화번호가 중복해서 들어있지는 않다고 한다. (내가 생각한 풀이 과정) phone_book 리스트에 담겨있는 전화번호를 하나씩 반복한다. 반복되는 요소와 바로 다음 요소를 비교할 건데, 접두어를 비교해야 하므로 해당 반복 요소 인덱스 i의 길이만큼 슬라이싱 후 비교한다. 만약, 두 글자가 같다면 접두어가 같다고 판단할 수 있다. -> False 반환 반복을 끝까지 해도 조건에 걸리지 않는다면, 같은 ..
2023.09.12 -
[Programmers, Lv.1] 코딩테스트 고득점 Kit - 해시 (1) (Python)
1. 폰켓몬 (Level 1) (문제 설명, 제한사항, 입출력 예) 폰켓몬의 종류 번호가 담긴 1차원 배열 nums가 주어진다. 연구실에 있는 총 N 마리의 폰켓몬 중에서 박사님이 N/2마리를 가져가도 좋다고 말했을 때, 가장 많은 종류의 폰켓몬을 선택하는 방법을 찾아 그때의 폰켓몬 종류 번호의 개수를 구하라는 문제이다. (가장 많은 종류의 폰켓몬을 선택하는 방법이 여러 가지인 경우에도, 선택할 수 있는 폰켓몬 종류 개수의 최댓값 하나만 구하면 된다. (내가 생각한 풀이 과정) 중복되지 않는 경우의 수를 골라야 가장 많은 폰켓몬 종류를 가져갈 수 있는 것이니, 일단 중복을 제거해 주기 위해 집합 set을 사용했다. 기존 nums 리스트에 중복값이 없다고 가정했을 때는, nums/2 만큼이 최대 종류로 가..
2023.09.12