defaultdict

    [python] 프로그래머스 - 약수의 개수와 덧셈

    🤔문제 해결 1. 나의 풀이 약수의 개수를 구하는 방법: 소인수 분해를 하고, 그 거듭제곱에 +1을 하면 약수가 나온다. 거듭제곱이 2개 이상이라면, 각각의 거듭제곱에 +1을 하고 그 숫자들을 서로 곱해준다. 2. 다른 좋은 풀이 모든 숫자는 약수의 개수가 짝수개이다. 예외로 제곱수는 약수의 개수가 홀수이다. 제곱이기 때문... 💨 디폴트딕트와 리듀스까지 써가면서 열심히 풀었지만, 수학을 잘하면 저렇게 쉽게 풀 수 있다....😜 💻소스 코드 from collections import defaultdict from functools import reduce def solution(left, right): """ 약수의 개수를 구하는 방법: 소인수 분해를 하고, 그 거듭제곱에 +1을 하면 약수가 나온다. 거..

    [python] 프로그래머스 - 여행경로

    [python] 프로그래머스 - 여행경로

    🤔문제 해결 Lv3 | DFS 간단한 DFS 문제인줄 알았지만 조금 복잡한 문제이다. 그냥 풀면 테스트케이스 1,2번이 틀리게 된다. 이유는 중간에 길이 끊어지면 안되기 때문.예를 들어 이런 테스트 케이스가 있다고 했을 때 - ( 예외 케이스 ) 위와 같이 두가지 경로가 나올 것이다. 문제에서는 오름차순대로 진행하라고 했지만 B를 먼저가게 된다면 모든 티켓을 이용할 수 없기 때문에 답이 되지 않는다. 여기서 D까지 갔다가 길을 못찾고 A로 다시 돌아가야 하는데 어떻게 할까 고민하던중 길이 끊어진 D가 마지막이겠다 라고 생각해서 경로를 거꾸로 넣기로 했다. 길이 끊어져 있는 answer에 D를 저장하고, D가없어지면 B도 끊어진다. answer 에 B를 저장한다. 하지만 A는 B가 없어도 C가 있기 때문에..

    [python] defaultdict

    [python] defaultdict

    📗 defaultdict defaultdict 는 dict 의 서브 클래스이다. 이름에서 유추할 수 있듯이 기본값(default)를 설정할 수 있는 좋은 친구이다. 🔵 defaultdict 이러한 번거로움을 없애주는게 바로 defaultdict이다. defaultdict는 처음 선언할 때 다양한 기본값을 지정할 수 있다. from collections import defaultdict my_defaultdict = defaultdict(int) print(my_defaultdict) # defaultdict(, {}) my_defaultdict = defaultdict(dict) print(my_defaultdict) # defaultdict(, {}) my_defaultdict = defaultdict..