문제) 문자열이 팰린드롬인지 확인하라. 대소문자를 구분하지 않으며, 영문과 숫자만을 대상으로 한다.\-strs의 자료형을 deque로 바꿔주는것만으로도 속도를 높일 수 있다.리스트의 pop이 o(0)인데 반해 데크의 pop.left()는 o(1) 이기때문에 거의 5배
스택을 이용해 큐를 구현하라 1\. 스택 : FILO의 자료형 (push, pop, peek..)2\. 큐 : FIFO의 자료형 스택을 이용해서 큐를 구현 하려면 먼저 들어온 데이터를 최상단으로 쌓고, pop할때 상단에 있는 데이터 부터 내보내야함2개의 스택을 이용해
https://www.youtube.com/watch?v=ZMfuDnUfdAc강의를 보면서 문제를 푸는 방법을 배울 수 있었다. 알고리즘 문제 해석하는 법 문제를 읽는다 문제가 원하는 요지를 파악한다. \-즉, 하나를 꺼내와서 내가 제일 중요하면 꺼내면 되는거
이진탐색이란? - -배열이 정렬 되어있을 경우, 절반씩 줄여나가면서 탐색하는 기법 -구현 순서 : 시작,끝, 탐색 대상 배열을 인자로 받는 함수를 만든다 중간 = 시작+끝 //2 배열의 중간값이 찾는 값 비교, 작을때
회전 정렬된 배열의 탐색 idea 1\. 제일 작은 놈 찾기 2\. 작은놈 앞에 있는 애들을 배열 맨뒤에 붙인다 3\. %연산 두 배열의 교집합\-list comprehension, set.intersection 사용으로 품 filter + lamb
다익스트라 알고리즘 \-한 노드에서 다른 특정 노드까지의 최단 경로를 구할 때 사용 \-우선 순위 큐 활용해서 구현 \-그리디 알고리즘 플로이드-와샬 알고리즘 \-모든 노드-다른 모든 노드까지의 최단 경로 구할때 사용 \-다이나믹 프로그래밍 2차원 인접 행렬 구성 \-
최대 소유 : num/2max 이하, 종류별 한마리만 소유가능
같은 종류의 의상은 겹칠 수 없음, 최소 한개의 의상을 입어야함. 선택이 안될 수 도 있음
\-filter : "주어진 배열의 값들을 오름차순으로 접근해 callbackfn을 통해 true를 반환하는 요소를 기준으로 신규 배열을 만들어 반환한다"연속된 요소는 필터, 아닌 경우 리턴
스택 이용
입력 값 : (배열, 숫자)출력 값 : n번째(숫자)에 있는 문서는 몇 번째로 출력 되는 지조건 : (1) 첫번째 문서 -> 대기열 내에 더 중요한 문서가 있는지 비교 T) 마지막으로 삽입 F) 출력 (2) 대기목록은 1이상 100이하(3) 중요도 : 높을수록 중요