js
-
[ JS ] .push()를 통한 배열 업데이트 - Cannot read properties of undefined (reading '0')Errors 2023. 3. 30. 01:03
에러 발생 상황 react 튜토리얼의 tic-tac-toe 제작 중 임의로 [...history, newSquare]을 history.push(newSquare)로 바꾸었을 때 발생 원인 [...history, newSquare]대신 history.push(newSquare)를 사용했으며, history가 초기화 되기 전에 호출되었습니다. [...history, newSquare]을 사용하는 경우 최소한 하나의 요소 이상은 초기화 되어 있으므로 에러가 발생하지 않으며, 추가적으로 조건문을 통한 초기화 여부 확인을 통해 에러를 방지할 수 있습니다.
-
[ 선형 자료구조 ] 연결 리스트 - Circular Linked List(원형 연결 리스트)Computer Science/자료 구조 2023. 1. 4. 17:27
연결 리스트는 각각의 요소들이 "노드"에 저장되는 선형 자료 구조이다. 각 노드들은 다음 노드에 대한 참조값을 가지며 이를 "링크"라 한다. 이러한 노드들로 이루어진 연결 리스트는 노드의 link filed를 사용함으로써 데이터의 추가 및 삭제를 모든 리스트 인덱스에 대한 방문 및 재구성 없이 실행 가능하다. 연결 리스트는 스택, 큐, 그래프 등을 구현하는데 자주 사용되며, 그 종류로는 Singly linked list, Doubly linked list 등이 있다. 1. 기본 배경 지식 1) Node 연결 리스트를 구성하는 노드는 Data filed, Linke filed 두 가지 필드로 이루어진 묶음이다. Data filed는 node는 integer, character 등 노드가 보유할 실제 데이터..
-
[ 선형 자료구조 ] 연결 리스트 - Doubly Linked List(이중 연결 리스트)Computer Science/자료 구조 2023. 1. 3. 16:47
연결 리스트는 각각의 요소들이 "노드"에 저장되는 선형 자료 구조이다. 각 노드들은 다음 노드에 대한 참조값을 가지며 이를 "링크"라 한다. 이러한 노드들로 이루어진 연결 리스트는 노드의 link filed를 사용함으로써 데이터의 추가 및 삭제를 모든 리스트 인덱스에 대한 방문 및 재구성 없이 실행 가능하다. 연결 리스트는 스택, 큐, 그래프 등을 구현하는데 자주 사용되며, 그 종류로는 Singly linked list, Doubly linked list 등이 있다. 1. 기본 배경 지식 1) Node 연결 리스트를 구성하는 노드는 Data filed, Linke filed 두 가지 필드로 이루어진 묶음이다. Data filed는 node는 integer, character 등 노드가 보유할 실제 데이터..
-
[ 프로그래머스 / JS ] Lv.1 소수 찾기Algorithm/프로그래머스 2023. 1. 1. 19:32
1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한사항 n은 2이상 1000000이하의 자연수입니다. 풀이 function solution(n) { let arr = new Array(n - 1).fill(2).map((ele, idx) => ele += idx); for (let i = 0; i < arr.length; i++) { if (arr[i] === 0) continue; for (let j = i + arr[i]; j ele).length } 실행에 걸린 최대 시간 : 102.07ms 사고과정 에라토스테네스의 체를 쓰자! 평가 개선점 알게된점 에라소트테네..
-
[ JS ] Date 객체와 메서드Javascript/이론 2023. 1. 1. 19:04
1. 객체 생성 1) 인수 없이 호출 현재 날짜 및 시간이 저장된 객체 반환 let date = new Date(); // Sun Jan 01 2023 17:54:39 GMT+0900 (한국 표준시) // 현재 날짜 및 시간이 저장된 객체 반환 2) 숫자 인수를 전달하여 호출 UTC 기준 1970년 1월 1일 0시 0분 0초에서 date 객체 생성시 전달한 arg 밀리초 후의 시점이 저장된 객체 반환 let date = new Date(24 * 3600 * 1000); console.log(date) // Fri Jan 02 1970 09:00:00 GMT+0900 (한국 표준시) // UTC 기준 1970년 1월 1일 0시 0분 0초에서 date 객체 생성시 전달한 arg 밀리초 후의 시점이 저장된 객..
-
[JS / 메서드] 유니코드 - charCodeAt(), fromCharCode()Javascript/메서드 2022. 12. 30. 15:42
str.charCodeAt(idx) str[idx]의 unicode point를 반환 'ABC'.charCodeAt(0); // returns 65 (the code point for 'A') 'ABC'.charCodeAt(1); // returns 66 (the code point for 'B') 'ABC'.charCodeAt(2); // returns 67 (the code point for 'C') String.fromCharCode(unicode point) unicode point에 해당하는 char을 반환한다. String.fromCharCode(65); // returns 'A' String.fromCharCode(66); // returns 'B' String.fromCharCode(67)..
-
[ 프로그래머스 / JS ] Lv.1 문자열 내 p와 y의 개수Algorithm/프로그래머스 2022. 12. 29. 15:11
대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. 제한사항 문자열 s의 길이 : 50 이하의 자연수 문자열 s는 알파벳으로만 이루어져 있습니다. 풀이 function solution(s){ if (s.match(/p/gi).length === s.match(/y/gi).length) return true; else return false ..