[ 자바스크립트(JavaScript) ] section07 - 7 - 좌표정렬
📍 section07 - 7 - 좌표정렬 평면상의 좌표(x, y)가 주어질 때 모든 좌표를 오름차순으로 정렬하는데 만약, x값이 같으면 y을 기준으로 정렬하는 문제다. 잘 내림차순 / 오름차순도 보고싶다면 이전글도 참고하자. function solution(arr) { let answer = arr; arr.sort((a, b) => { if (a[0] === b[0]) return a[1] - b[1]; else return a[0] - b[0]; }); return answer; } let arr = [ [2, 7], [1, 3], [1, 2], [2, 5], [3, 6], ]; console.log(solution(arr)); 👉🏾 [[1, 2], [1, 3], [2, 5], [2, 7], [3, ..
2021. 9. 10.
[ 자바스크립트(JavaScript) ] section07 - 6 - 장난꾸러기 현수
📍 section07 - 6 - 장난꾸러기 현수 여러 학생들 사이에서 자리를 바꾼 현수와 짝꿍의 번호를 출력하는 문제다. sort를 사용하지 않고 앞 뒤 index를 비교하여 감소하는 index면 서로 자리를 바꿨다고 판단할 수 있지만, 앞 뒤 index가 동일할 때는 어느번호가 현수, 짝꿍인지 모르기 때문에 sort를 사용했다. arr과 copyArr을 비교한 다음, value가 다른 index를 답으로 리턴했다. // let arr = [120, 125, 152, 130, 135, 135, 143, 127, 160]; let arr = [120, 130, 150, 150, 130 ,150] console.log(solution(arr)); function solution(arr) { let sortA..
2021. 9. 10.
[ 자바스크립트(JavaScript) ] section07 - 5 - Least Recently Used(카카오 캐시 문제 변형)
📍 section07 - 5 - Least Recently Used(카카오 캐시 문제 변형) 간략한 문제 설명: LRU 알고리즘은 가장 최근에 사용되지 않은 것의 의미를 가지고 있다. 만약, Cache Miss일 땐 다음 task가 cache의 맨 앞에 오고 모든 작업이 뒤로 밀리고, Cache Hit 일 땐 다음 task와 동일한 cache안에 있는 값을 맨 앞으로 당겨오고 나머지는 한 칸씩 뒤로 미루는 문제이다. 예를 들어 현재 cache가 [1, 2, 3, 0, 0]이고 다음 task는 2라면 [2, 1, 3, 0, 0, 0]이 된다. 이 문제는 삽입 정렬의 특징인 target을 temp에 저장하고 temp보다 arr[i]=arr[i-1]처럼 덮어 씌우는 방식을 이용하면 풀 수 있는 문제이다. 중요..
2021. 9. 10.