JavaScript(4)
-
[JavaScript] 백준 1475번 방 번호
이 글은 백준 1475번 방 번호를 풀이한다. 코드는 JavaScript로 구현하였다. 문제 다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다. 다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.) 입력 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다. 예제 입력 1 9999 예제 입력 2 122 예제 입력 3 12635 예제 입력 4 888888 출력 첫째 줄에 필요한 세트의 개수를 출력한다...
2023.06.27 -
[Algorithm] Lower Bound & Upper Bound 정리
Lower Bound & Upper Bound 란? Lower(Upper) Bound는 원하는 값이 처음 나오는 위치를 찾는 알고리즘이다. Lower Bound는 원하는 값 k 이상의 수가 처음으로 나오는 위치를 찾는다면, Upper Bound는 원하는 값 k를 초과하는 수가 처음으로 나오는 위치를 찾는다. 📖 알고리즘 특징 - 이분 탐색 알고리즘(binary search algorithm)에서 파생됐다. - 배열 안의 숫자들이 오름차순으로 정렬되어 있을 때 이용할 수 있다. Lower Bound Lower Bound 알고리즘은 원하는 값 k 이상의 수가 처음으로 나오는 위치를 찾는다. Lower Bound 알고리즘 수행 과정 중간 지점 찾기 → 값 비교 → 확인 파악하고자 하는 구간의 시작 위치를 st..
2022.12.26 -
[JS] 배열 고차함수 reduce() 정리
[reduce / reduceRight] 자바스크립트 Array.prototype 배열에 대하여 주어진 콜백 함수를 실행하고, 하나의 결과 값을 반환 reduce() 메소드는 왼쪽 원소부터 콜백 함수를 실행 reduceRight() 메소드는 오른쪽 원소부터 콜백 함수를 실행 array 메소드의 아버지라고 불림 map(), filter(), join() 같은 array 메소드들을 모두 reduce() 메소드로 구현이 가능함 reduce() 구문 배열.reduce((acc, cur, idx, src) => { }, [, initialValue]) 매개변수 콜백함수 인수 설명 옵션 여부 accumulator 누산기 순회하면서 계속 더해져서 합쳐지는 값 🔑 필수 currentValue 현재 값 현재 값 🔑 필수..
2022.12.26 -
[Algorithm] 합병 정렬(merge sort) 정리
합병 정렬(merge sort) 이란? 합병 정렬은 안정 정렬에 속하며, 분할 정복 알고리즘의 하나이다. 📖 안정 정렬 이란? 안정 정렬 알고리즘은 반복되는 요소를 입력 때와 동일한 순서로 정렬시킨다. (참고) 📖 분할 정복 알고리즘(Divide and conquer alogorithm) 이란? 그대로 해결할 수 없는 문제를 작은 문제로 분할하여 문제를 해결하는 알고리즘이다. 분할 정복 방법은 대개 순환 호출을 이용하여 구현한다. 합병 정렬(merge sort) 과정 합병 정렬 4단계 분할(Divide) → 정복(Conquer) → 결합(Combine)→ 복사(Copy) 분할(Divde) 정렬되지 않은 리스트를 절반으로 잘라 리스트를 두 부분으로 나눈다. 정복(Conquer) 부분 배열을 정렬한다. 부분..
2022.12.26