본문 바로가기
반응형

자바스크립트14

알고리즘 8 : binarySearch 문제 오름차순 정렬된 정수의 배열(arr)과 정수(target)를 입력받아 target의 인덱스를 리턴해야 합니다. 입력 인자 1 : arr number 타입을 요소로 갖는 배열 arr[i]는 정수 인자 2 : target number 타입의 정수 출력 number 타입을 리턴해야 합니다. 주의사항 이진탐색 알고리즘(O(logN))을 사용해야 합니다. 단순한 배열 순회(O(N))로는 통과할 수 없는 테스트 케이스가 존재합니다. target이 없는 경우, -1을 리턴해야 합니다. 입출력 예시 let output = binarySearch([0, 1, 2, 3, 4, 5, 6], 2); console.log(output); // --> 2 output = binarySearch([4, 5, 6, 9], 10.. 2021. 9. 13.
알고리즘 3 : 연결된 정점들, BFS 시작에 앞서 그래프의 탐색은 하나의 정점에서 시작하여 그래프의 모든 정점을 한번씩 방문 하는 것이 목적이다. 때문에 하나씩 모두 방문하여 찾아야 하는데 상황에 따라 효과적인 방법이 있다. 그 중 가장 대표적인 방법 BFS, DFS를 소개한다. 이 둘은 탐색 순서만 다를 뿐, 모든 자료를 한번씩 확인해 본다는 점은 같다. 아래 jpg는 코드스테이츠 학습자료이다. DFS : 가장 가까운 길로 들어가서 막다른 길이 나올때까지 탐색한다. 그다음 다시 출발지점으로 와서 그 두번째로 가까운 길로 들어간다. 이를 반복하여 모든 길을 탐색함 BFS : 길을 끝까지 가지 않고 중간에 나온다. 그 후 다음 길에 들어가서 중간에 나온다. 반복하여 모든길을 얕게 탐색한 후, 다시 처음길로 들어가 더 깊게 탐색한다. 반복한다... 2021. 8. 30.
알고리즘 2 : 인접 행렬 길찾기 인접 행렬 길 찾기 주어진 인접행렬에서 한 정점으로부터 다른 정점으로 이어지는 길이 존재하는지 true/false 로 반환한다. 인자 1 : matrix 2차원 Array 인자 2 : from 시작 정점, number 타입 인자 3 : to 도착 정점, number 타입 입출력 예시 정점 0에서 2로 가는 길이 존재하는지 확인한다. 0 --> 1 로 가는 간선이 존재하고, 1 --> 2 로 가는 간선이 존재하기 때문에 true를 반환한다. const result = getDirections( [ [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1], [0, 1, 0, 0], ], 0, 2 ); console.log(result); // true 코드 function getDirecti.. 2021. 8. 29.
알고리즘 1 : 발표순서 발표순서 선생님은 짱구에게 발표할 조의 수 N과 발표 순서 k를 말해준다. 짱구는 모든 경우의 수를 따지고 k 순서가 몇 번째 경우의 수인지 대답해야 한다. 짱구가 올바른 답을 말할 수 있게 알고리즘을 작성해보자. 인자 1 : N number 타입이고 1 2021. 8. 29.
반응형