자바스크립트 코딩테스트 문제 2

자바스크립트 알고리즘 42 일차 (코딩도장)

42일차 첫번째 문제 문제: 1차원의 점들이 주어졌을 때, 그 중 가장 거리가 짧은 것의 쌍을 출력하는 함수 난이도: 코딩테스트 문제 풀이 과정: s 배열에 값이 있고 ss는 slice 활용해서 깊은 복사로 인덱스 1부터 시작하는 새로운 메모리에 저장된 배열을 생성 s배열에 원소를 순회하면서 인덱스 1부터 시작하는 ss 배열로 각 쌍의 배열을 반환한다. [ [1,3], [3, 4], [4, 8], ...] sort 함수를 활용해서 각 쌍의 두번째 요소와 첫번째 요소의 차이를 기준으로 오름차순으로 정렬을 하면 차이가 가장작은 쌍의 정렬된 배열로 반환이 된다. const s = [1, 3, 4, 8, 13, 17, 20] const ss = s.slice(1) s.map((v, i) => [v, ss[i]]..

자바스크립트 알고리즘 40 일차 (코딩도장)

40일차 첫번째 문제 문제: 1부터 10,000까지 8이라는 숫자가 총 몇번 나오는가? 난이도: 코딩테스트 문제 풀이 과정: 새로운 배열 10000개를 0으로 채워주고 map으로 10000숫자를 idx 순서로 채워준다. toString 함수로 배열에 숫자를 문자열로 만들어주고 split("") 모든 숫자를 배열로 만든다. 거기서 배열안에 8이 들어가는 모든 원소 값을 걸러주면 10000개 안에 들어가는 8의 개수를 찾을수 있다. const arr = Array(10000).fill(0).map((val, idx) => idx).toString().split("").filter((val) => val === "8").length 참고사항: 새로운 배열에 fill 함수로 0값을 채우고 map idx로 0~9..