목록자료구조 (3)
DecordRay

힙(Heap) 완전 이진 트리의 일종으로 우선순위 큐를 구현하기 위해 사용하는 자료구조이다. 여러 개의 값들 중 최댓값이나 최솟값을 빠르게 찾아내도록 만들어진 자료구조이다. 힙은 일종의 반정렬 상태(느슨한 정렬 상태)를 유지한다. 최대 힙(Max heap) 부모 노드의 키 값이 자식 노드의 키 값보다 크거나 같은 완전 이진 트리 key(ParentNode)>=key(ChildNode) 최소 힙(Min heap) 부모 노드의 키 값이 자식 노드의 키 값보다 작거나 같은 완전 이진 트리 key(ParentNode)= heap[child+1]) : child += 1 if (child >= len(heap) or heap[child] > heap[parent]) : break heap[child], heap[..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 첫번째 방법에서 시간 효율이 떨어지는 것 같아 더 좋은 방법을 모색해보았음 첫번째 방법 1. 문자열 개수가 홀수일 경우와 짝수일 경우로 나누었음(문자열 개수가 홀수일 경우 무조건 올바른 문자열이 아니므로) 2. 반복문을 통해 문자열의 개수만큼 회전을 시키고 각 케이스마다 올바른 문자열인지 판별 3. while문 안의 반복문을 통해 인덱스를 1번부터 시작하여 올바른 문자열인지 판별..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12985 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 1. N의 제한사항이 2의 20승 이하인 자연수였기 때문에 일반적인 배열을 사용할 경우 시간초과가 날 것 같다고 생각 2. deque를 사용하여 참가자를 2명씩 비교하는 함수(win)를 만들기로 함 3. 4가지의 조건문을 만들어서 해결 첫번째 조건문 : 만약 두 참가자 모두 chk_list에 있는 참가자라면 정답이므로 chk = True를 통해 반복문 탈출 두번째 조건문 : 비교..