1. 같은 숫자는 싫어https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1-1. 내 풀이이미 푼 문제인데 나는 filter 를 사용하여, 앞에 있는 숫자와 같을 경우 해당 숫자를 필터링하여 연속으로 중복된 수를 제거하였다.function solution(arr) { return arr.filter((item,idx) => item !==arr[idx-1]);}1-2. 다른 사람 풀이나와 같은 방식으로 해결하였다.function solution(a..
BFS(너비 우선 탐색) BFS(Breadth-first search)는 같은 깊이에 있는 정점부터 탐색하는 알고리즘이다. BFS(너비 우선 탐색) - Queue 를 사용하여 구현 - 시작 지점에서 가까운 정점부터 탐색 - 시간 복잡도 O(정점의 수 + 간선의 수) Queue 를 사용한 BFS step 1 | Queue [ 1 ] Queue에 1을 enqueue step 2 | Queue [ 2 ] [ 3 ] [ 4 ] 1을 dequeue 하고, 자식 정점 2, 3, 4를 enqueue step 3 | Queue [ 3 ] [ 4 ] [ 5 ] [ 6 ] 2를 dequeue 하고, 자식 정점 5, 6를 enqueue step 4 | Queue [ 4 ] [ 5 ] [ 6 ] 3을 dequeue 하고, 자..
☘️ 이진 탐색 이진 탐색 정의 이진 탐색은 정렬된 요소들을 절반씩 줄여가며 찾는 알고리즘이다. 이진 탐색 정렬이 되어 있어야 함 배열, 이진 트리 사용하여 구현 시간 복잡도 O(log n) 로 빠름 이진 탐색 구현 - 배열 원하는 숫자를 찾기 방법은 다음과 같다. 정렬된 배열에서 맨 앞을 left, 맨 뒤를 right, 가운데를 mid 로 설정 찾는 숫자를 mid 값과 비교 mid 값이 더 크면 right = mid - 1 mid 값이 더 작으면 left = mid + 1 새롭게 설정된 left 또는 right 값으로 mid 값 다시 설정 이를 반복하여 mid 값과 찾는 숫자가 같으면 종료 배열을 사용하여 이진 탐색을 구현하면 선형 시간 O(n) 이 소요된다. 그래서 이를 해결하기 위해 이진 탐색 트리..