728x90 All150 [프로그래머스] 모음사전 아이디어경우의수 다 만들기?def solution(word): dic = {'A': 0, 'E': 1, 'I': 2, 'O': 3, 'U': 4} weights = [781, 156, 31, 6, 1] cnt = 0 for i, chr in enumerate(word): cnt += dic[chr] * weights[i] + 1 return cnt가중치는 "해당 자리 이후로 남은 자리수의 조합 수" 총합그래서 처음부터 글자 하나하나 당 그 자리에서 스킵하는 단어 수가 계산된 것.최종적으로는 각 글자 위치마다 (몇 번째 알파벳인지) × (자리수 가중치) 를 더하면 됨.첫번째자리수: 5^4 + 5^3 + 5^2 + 5^1 + 5^0두번째자리수: 5^3 + 5^2 + 5.. 2025. 4. 12. [프로그래머스] 전화번호 목록 기본 아이디어트라이 노드순서 정렬 or 양방향 접두사 여부 체크class TrieNode: def __init__(self): self.children = {} self.is_end = Falseclass Trie: def __init__(self): self.root = TrieNode() def insert(self, number): node = self.root for n in number: if n not in node.children: node.children[n] = TrieNode() node = node.children[n] node... 2025. 4. 12. [프로그래머스] 가격이 제일 비싼 식품의 정보 출력하기 WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT);서브쿼리로 FOOD_PRODUCT 테이블에서 MAX(PRICE)를 구하고그 가격과 일치하는 행을 다 가져옴그런 행이 여러개면? 여러개 가져옴아래 방식은 오답 SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, MAX(PRICE)FROM FOOD_PRODUCT이렇게하면 그룹핑(GROUP BY)안 한 상태로 집계함수만 쓴거라서MAX(PRICE)를 구할 때 테이블 전체에서 가장 큰 값이 나옴PRICE 컬럼은 MAX가 나오는데, 나머지 컬럼들은 무작위값으로 나옴전체 코드SELECT PRODUCT_ID, PRODU.. 2025. 4. 10. [프로그래머스] 피로도 기본 아이디어가능한 경우의 수가 크지 않아 모든 경우의 수를 구해도되겠다순열이다from itertools import permutationsdef solution(k, dungeons): max_count = 0 for order in permutations(dungeons): count = 0 fatigue = k for required, cost in order: if required > fatigue: break fatigue -= cost count += 1 max_count = max(max_count, count) return max_count.. 2025. 4. 10. [프로그래머스] 가장 큰 수 기본 아이디어sort문자열로 다 바꾸고 비교해서 합치기from functools import cmp_to_keydef solution(numbers): def compare(x, y): if x + y > y + x: return -1 # x를 y보다 앞에 둔다 elif x + y cmp_to_key는 왜 쓰냐??? -> sort함수는 key만 받음, 비교함수를 직접 받지 않음 -> 이게 비교함수를 key로 바꿔주는 역할을 함마지막에 '000' 이런게 답인 엣지 케이스 고려해줘야함 2025. 4. 10. [프로그래머스] 가격대 별 상품 개수 구하기 기본 아이디어그룹바이range는 어케 설정하지?FLOOR(PRICE / 10000) * 10000 AS PRICE_GROUP,10000원 단위의 범위 자동화 FLOOR 사용GROUP BY PRICE_GROUP그 범위별로 그룹바이 해주기SELECT FLOOR(PRICE / 10000) * 10000 AS PRICE_GROUP, COUNT(*) AS PRODUCTSFROM PRODUCTGROUP BY PRICE_GROUPORDER BY PRICE_GROUP 2025. 4. 9. 이전 1 2 3 4 5 6 7 8 ··· 25 다음 728x90