프로그래머스 LEVEL 3(숫자 게임)
-
사용 언어 : javascript
-
해결 날짜 : 2022-10-07
- 해결 방법 :
- A, B 오름차순 정렬
- A, B 별 접근할 인덱스를 따로 저장
- B의 큰 값과 A의 큰 값부터 비교하며 B의 값이 A의 값보다 클 경우 answer 증가 및 두 인덱스 감소
- 작거나 같을 경우 A의 인덱스만 감소
- 회고 :
- 처음에 findIndex()로 만족하는 가장 작은 인덱스의 값을 찾았으나 findIndex()의 시간 복잡도가 O(n)이기 때문에 효율성 테스트에서 통과하지 못함
-
코드
function solution(A, B) { let answer = 0; B.sort((a, b) => a - b); A.sort((a, b) => a - b); let index_A = A.length - 1; let index_B = B.length - 1; while (index_A >= 0) { if (B[index_B] > A[index_A]) { answer++; index_B--; } index_A--; } return answer; }
- 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges