[JS / javaScript] array, object method 시간복잡도
·
JavaScript
Array 접근 - O ⑴ 삽입 splice() - 최악의 경우 O(n) 특정 요소를 제거하거나 삽입시 수정된 요소 뒤의 배열들을 이동시켜야 함 push() - O⑴ 삭제 shift() - O(n) 배열의 가장 앞의 요소를 반환과 동시에 제거하고 배열의 모든 요소를 앞으로 이동해야 함 pop() - O⑴ 탐색 indexOf() - O(n) find() - O(n) findIndex() - O(n) 순회 map() - O(n) forEach() - O(n) filter() - O(n) Object 접근 - O⑴ 삽입 - O⑴ 삭제 delete - O⑴ 배열과 다르게 순서가 없어 삭제가 빠르다 탐색 obj.hasOwnProperty() - O(1) 순회 keys() - O(n) values() - O(n) ..
[javaScript / JS] 2차원 배열 회전 알고리즘
·
JavaScript
2차원 배열 90도 회전 let arr = [ [0, 0, 0, 0, 0], [1, 1, 1, 1, 1], [2, 2, 2, 2, 2], [3, 3, 3, 3, 3], [4, 4, 4, 4, 4], ]; let rotateArr = [ [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], ]; for (let i = 0; i < arr.length; i++) { for (let j = 0; j < arr[0].length; j++) { rotateArr[j][arr.length - 1 - i] = arr[i][j]; } } 출력: [ [ 4, 3, 2, 1, 0 ], [ 4, 3, 2, 1, 0 ], [ 4..
[JavaScript / React-Native] 이메일, 비밀번호, 아이디 정규식
·
JavaScript
문자 '^' - 정규식의 시작을 나타낸다, '$' - 정규식의 끝을 나타낸다 이메일 정규식 const Regex = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/; 아이디 정규식 const Regex = /^[A-Za-z0-9]{4,20}$/; 문자열에 공백이 있으면 안된다. 알파벳 대소문자와 숫자만을 포함해야 한다. 길이는 4에서 20 사이여야 한다. 비밀번호 정규식 const Regex = /^(?=.*[!@#$%^&*(),.?":{}|])[A-Za-z0-9!@#$%^&*(),.?":{}|]{8,20}$/; 알파벳, 대소문자, 특수문자를 포함해야 한다. 길이는 8에서 20 사이여야 한다. 닉네임 정규식 const regex = /^[A-Za-z\uAC00-\uD7..