본문 바로가기

자바스크립트 알고리즘6

프로그래머스 JadenCase 문자열 만들기 - 자바스크립트 풀이 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제의 조건대로 풀기 위해서 각 단어들의 첫 글자를 대문자로 바꾼 후 나머지 글자를 소문자로 바꾸어 다시 문장으로 조합해야 합니다.우선 단어 단위로 판별하기 위해 문장을 공백을 기준으로 잘라서 배열로 만들어 줍니다. let arr = s.split(" ");그리고 배열에 담겨진 각 단어들을 돌면서 차례대로 첫글자는 대문자로 그 뒤의 글자들은 소문자로 바꿔줍니다. arr = arr.map(x => x.charAt(0).toUpperCase() + x.slice(1).toLowerCase());그 후 다시 단어들을 하나의 문장으로 합쳐준 뒤 그 문장을 반환하면.. 2024. 11. 24.
프로그래머스 로또의 최고 순위와 최저 순위 - 자바스크립트 풀이 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다.민우의 동생은 뭐가 문제일까요? ☹️문제 풀이 자바스크립트 코드입니다function solution(lottos, win_nums) { let answer = [6,6]; const wins = win_nums.filter(x => lottos.includes(x)); answer[1] = 7 - (wins.length || 1); // 최저 순위 answer[0] = 7 - ((lott.. 2024. 11. 24.
[자료구조] 트리 Tree - 자바스크립트(Javascript)로 구현하기 트리(Tree) 트리는 비순차적인 자료 구조로 정보 검색에 용이하다. 부모 자식 관계를 가진 다수 노드로 구성된다. 밑의 그림과 같이 트리 모양의 자료구조를 트리라고 하는 것이다. 루트 root: 트리의 최상위 노드로 루트라고 한다. 그림에서는 12값을 가진 노드에 해당한다. 서브트리: 노드와 자식 노드로 구성되어있다. 그림에선 5,3,6 / 9,8,10 / 17,14,22 등이 해당한다. 노드 위에서 트리는 노드로 구성되어 있다고 하였다. 노드는 왼쪽 자식과 오른쪽 자식의 참조(포인터)를 가리킨다. 위의 그림에서 3,6,8,10,13,15,18,23 키에 해당하는 노드들은 자식이 없으므로 왼쪽 자식 참조 값과 오른쪽 자식 참조 값이 null이 된다. 루트 노드를 그림으로 나타내면 위와 같다. 이때 노드.. 2023. 9. 4.
[자료구조] 힙 Heap 자바스크립트(Javascript)로 구현하기 힙 Heap 이란? 최댓값과 최솟값을 찾아내는 연산을 빠르게 수행하고자 고안된 이진트리 기반 데이터 구조이다. 삽입과 삭제 시 O(log n)의 시간복잡도를 가진다. 최대 힙 Max Heap 상위 노드에 제일 큰 값이 위치한다. 위의 트리구조 힙을 배열로 나타내면 아래와 같다. 부모 노드 인덱스 & 자식 노드 인덱스 구하기 부모 노드 인덱스 : 자식 노드 인덱스 / 2 왼쪽 자식 노드 인덱스 : 부모 노드 인덱스 * 2 + 1 오른쪽 자식 노드 인덱스 : 부모 노드 인덱스 * 2 + 2 삽입 기존의 최소 힙에 새로운 값 17을 삽입한다고 해보자. → 코드 상에서 add(17)에 해당 위와 같이 마지막 노드의 왼쪽부터 삽입할 노드를 추가한다. 그 후 부모 노드와 크기를 비교하며 정렬해나간다. → 코드 .. 2023. 8. 29.