
딕셔너리 / 세트를 이용하는 방법 파이썬을 다루면서 딕셔너리를 우선적으로 생각하게 되어 바로 떠오르는 풀이는 1번이었으나, 딕셔너리의 값이 True/False 두 종류뿐이라면 이는 세트와 크게 다르지 않을 것이라는 생각에 세트로 풀이하는 방법 또한 작성했습니다

전체를 순회하는 탐색 문제에서, 비트마스킹을 더한 문제입니다.크게 사용된 알고리즘은 3가지 입니다.일반적으로 배열을 탐색하는 경우 BFS를 사용하는 것이 일반적입니다.하지만 문제에서 주어지는 배열의

이 문제는 1번 노드에서 N번 노드까지 갈 때의 최단 거리를 구하는 문제로, 다익스트라를 활용해야 합니다 .heapq자료구조와 distance 배열을 활용하여 다익스트라 함수를 만들고, 문제에서 요구하는 각 열차의 운행시간을 맞추기 위해 time_nxt를

들어오는 입력이 최대 1,000,000개 이므로, 이중 for문만 해도 1조 번의 연산이 필요하기에 시간에 대한 고려는 필수적입니다. 스위핑 테크닉을 활용해 시작점이면 +1, 도착점이면 -1을 셈하며 한번의 순회로 계산이 마무리되게 할 수 있습니다.

중복을 허용하지 않고 모든 나올 수 있는 애너그램을 만드는 문제입니다.문제 자체는 N과 M (9) 문제와 비슷하다고 생각해서 같은 방식으로 접근했으나, 시간 초과가 발생했습니다.문자열의 길이가 최대 20이기 때문에 같은 방식으로 문제 풀이가 불가능함을 깨닫고, 딕

결과백트래킹을 통해 특정 패턴의 수열을 찾는 문제입니다. 제가 접근한 방법은 idx에 저장된 숫자를 하나씩 올려가며 arr의 각 자리를 순회하면서 그 자리가 비어있다면 넣어 모두 배치된 경우 카운트를 올리는 방식이었습니다.이렇게 접근했을 때 5244ms 의 시간이 발생

문자 검색을 효율적으로 구현하기 위해 트라이 자료구조를 만들었습니다.이를 별도의 클래스 구현 없이 딕셔너리만 활용했습니다.문자열의 끝을 0으로 두어 0이 있는 경우 문자열의 끝이고, 여기에 전체 문자열을 저장해 백트래킹 시 별도의 저장이 필요 없도록 설계했습니다.

트라이 구조로 단어들을 저장하고, depth를 저장해 재귀하며 조건에 맞게 출력하는 함수를 구현해 간단하게 출력할 수 있다.

제출 결과간단히 딕셔너리로 구현한 트라이구조로 구현했습니다.단어를 저장하기 전에 search 함수를 통해 트라이가 존재하는지 확인한 후, 저장되지 않은 지점에서 출력해 정답을 출력합니다.이후, 트라이에 저장하는 insert 함수를 통해 닉네임을 저장합니다.

트라이 간단히 딕셔너리로 트라이구조를 구현했습니다. 그 후, search 함수를 통해 해당 위치의 trie의 원소가 1개만 있는 경우 카운트를 올리지 않고 내려가고, 그 이상인 경우 카운트를 올려 내려가는 방식으로 구현했습니다.

간단히 딕셔너리로 트라이구조를 구현했습니다.그 후, compare 함수를 통해 해당 위치의 trie에 반대되는 이진수가 있는 경우 1을 더하여 내려가는 방식으로 구현했습니다.이 경우에는 최대 길이를 미리 구해두었기 때문에 종료조건을 동일하게 만들었습니다.