연이은 코테 탈락으로 제정신을 유지하기 힘든 나는 프로그래머스의 코딩테스트 고득점 KIT 풀이집을 만들어보고자 한다 👽 1️⃣ 해시 [LV 1] 폰켓몬 문제 https://whynotworking.tistory.com/entry/폰켓몬 [LV 1] 완주하지 못한 선수 문제 https://whynotworking.tistory.com/entry/완주하지 못한 선수 [LV 2] 전화번호 목록 문제 https://whynotworking.tistory.com/entry/전화번호 목록 [LV 2] 위장 문제 https://whynotworking.tistory.com/entry/위장 [LV 3] 베스트앨범 문제 https://whynotworking.tistory.com/entry/베스트앨범 2️⃣ 스택/큐 [..
👀 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 👁 풀이 count = 베스트앨범 안에 들어간 곡 수 dic = 각 장르별 플레이 수 li 안에 각 노래의 고유번호, 장르, 플레이 수를 넣은 후 플레이 수로 정렬해 준다 ➡️ 장르 내에서 많이 재생된 노래를 2곡씩 선택할 때 편해짐 arr는 각 장르별 선택된 노래 2가지씩 들어있는 리스트 ➡️ 이 리스트를 많이 재..
👀 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👁 풀이 수학적 접근 ➡️ n가지 종류의 옷 중에서 옷의 개수 + 1 한 값을 곱해주고 -1(모두 선택하지 않은 경우)을 해준다. from collections import defaultdict def solution(clothes): answer = 1 dic = defaultdict(int) for cloth in clothes: dic[cloth[1]] += 1 for val in dic.values(): answer *= (val + 1) return answer - 1
❤️ 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❤️🔥 풀이 def solution(phone_book): for i in range(len(phone_book)): for j in range(i+1, len(phone_book)): if phone_book[i] == phone_book[j][:len(phone_book[i])]: return False return True ❤️🩹 개선점 찾기 sort를 해주고 같지 않을 때 바로 break를 걸어주면 효율성이 높아지지 않을까함 def solution(phone_book): phone_boo..
🔒 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔑 풀이 1️⃣ set을 이용하여 중복값 제거하기 간단하게 set으로 변환해서 공통된 사람들 제외하고 출력시켰는데 틀림 ➡️ 문제에서 동명이인이 있다고 주어졌기 때문! def solution(participant, completion): return ''.join(set(participant) - set(completion)) 2️⃣ Defaultdict을 이용한 풀이 참가자를 딕셔너리를 이용하여 각 이름별 참가자의 수를 계산하고, 완주자 리스트 안에 이름이 있으면 수를 하나씩 빼주기 딕셔너리의 값이..
👀 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👁 풀이 이 문제는 포켓몬 종류와 nums//2를 비교하여 두 수의 최솟값을 알아내면 되는 문제이다. 1️⃣ set을 이용 set을 이용하여 포켓몬의 종류를 뽑아낸다 def solution(nums): answer = 0 type = len(set(nums)) return min(len(set(nums)), len(nums)//2) 2️⃣ Counter를 이용 Counter를 이용하여 포켓몬의 종류를 뽑아낸다 from collections import Counter def solution(nums):..