본문 바로가기

분류 전체보기

(60)
[JS] Array(표준 빌트인 객체) 정리 배열 여러 개의 값을 순차적으로 나열한 자료구조 배열은 객체 타입이기 때문에 값의 순서와 length 프로퍼티로 일반 객체와 구분한다. 배열의 요소는 (2^32 - 1)개까지 가질 수 있다. 배열 생성 배열 리터럴 0개 이상의 요소를 쉼표로 구분하여 대괄호([])로 묶는다. 요소를 생략하면 희소 배열이 생성된다. const arr = [1, 2, 3]; console.log(arr.length); // 3 const arr = []; console.log(arr.length); // 0 const arr = [1, , 3]; console.log(arr.length); // 3 console.log(arr); // [1, empty, 3] console.log(arr[1]); // undefined Ar..
[JS] Math(표준 빌트인 객체)의 프로퍼티와 메서드 Math 프로퍼티 Math.PI 원주율 PI 값 반환 Math.PI // → 3.141592653589793 Math 메서드 Math.abs(x) 절대값으로 바꿔주는 메서드 x 값으로 숫자, 숫자인 문자열을 받게 되면 해당 값의 절대값을 반환한다. x 값으로 0, null, 빈 문자열, 빈 배열을 받게 되면 0을 반환한다. x 값을 생략하거나 빈 객체, 둘 이상의 요소를 가진 배열, 숫자가 아닌 문자열, undefined를 받게 되면 NaN을 반환한다. Math.abs(11); // → 11 Math.abs(-11); // → 11 Math.abs('-11'); // → 11 // 0을 반환하는 경우 Math.abs(0); // → 0 Math.abs(null); // → 0 Math.abs(''); /..
[JS] Number(표준 빌트인 객체)의 프로퍼티와 메서드 Number 프로퍼티 Number.EPSILON 1과 1보다 큰 값 중에서 가장 작은 값의 차이 대략 2.2204460492503130808472633361816 * 10^-16 이다. 부동소수점으로 인해 발생하는 오차를 해결하기 위해서 사용한다. // 부동소수점 오류 0.1 + 0.2; // → 0.30000000000000004 0.1 + 0.2 === 0.3; // → false // Number.EPSILON을 활용하여 부동소수점 오류해결 function isEqual(a, b) { return Math.abs(a - b) < Number.EPSILON; } isEqual(0.1 + 0.2, 0.3) // → true Number.MAX_VALUE 자바스크립트에서 표현할 수 있는 가장 큰 양수 값..
[JS] String(표준 빌트인 객체)의 프로퍼티와 메서드 length 프로퍼티 문자열의 문자 개수를 반환하는 프로퍼티 String 메서드 String 객체의 메서드는 원본 String 래퍼 객체를 직접 변경하지 않고, 새로운 문자열을 반환한다. ※ 사용 빈도가 높은 메서드 위주로 정리 String.prototype.indexOf(searchValue, *fromIndex) 대상 문자열에서 searchValue를 검색하여 위치를 알려주는 메서드 searchValue가 여러개 존재할 경우에 첫번째 위치한 인덱스를 반환한다. 대상 문자열에 searchValue가 없으면 -1을 반환한다. searchValue의 길이는 상관없다. fromIndex는 검색을 시작할 인덱스를 전달한다.(옵션) 특정 문자열이 존재하는지 확인하는 용도로 많이 사용된다.(includes 메서드..
[프로그래머스] 다트 게임 with Python 다트 게임(LEVEL 1) 2018 KAKAO BLIND RECRUITMENT 문제보기 내가 제출한 답안 def solution(dartResult): answer = [] k = [] for i in range(1, len(dartResult)): if dartResult[i - 1].isnumeric(): n = int(dartResult[i - 1]) if i < 3: if n == 0 and i == 2: n += 10 else: if n == 0 and dartResult[i - 2].isnumeric(): n += 10 if dartResult[i] == 'S': n = n ** 1 k.append(n) elif dartResult[i] == 'D': n = n ** 2 k.append(n) ..
[프로그래머스] 비밀지도 with Python 비밀지도(LEVEL 1) 2018 KAKAO BLIND RECRUITMENT 문제보기(프로그래머스) 내가 제출한 답안 def solution(n, arr1, arr2): answer = [] for i in range(n): arr1[i] = list(format(arr1[i], 'b')) arr2[i] = list(format(arr2[i], 'b')) while len(arr1[i]) < n: arr1[i].insert(0, 0) while len(arr2[i]) < n: arr2[i].insert(0, 0) for j in range(n): if int(arr1[i][j]) != int(arr2[i][j]): arr1[i][j] = 1 a = '' for k in range(n): if int(ar..
[프로그래머스] 크레인 인형뽑기 게임 with Pyhton 크레인 인형뽑기 게임(LEVEL 1) 2019 카카오 개발자 겨울 인턴십 문제 보기(프로그래머스) 내가 제출한 답안 def solution(board, moves): arr = [] count = 0 for i in range(len(moves)): n = moves[i] for j in range(len(board[0])): if board[j][n - 1] > 0: arr.append(board[j][n - 1]) board[j][n - 1] = 0 break # print(arr) if len(arr) > 1: if arr[len(arr) - 2] == arr[len(arr) - 1]: count += 1 arr.pop() arr.pop() return count * 2 나의 풀이 문제의 설명 그대..
[JS] 객체 리터럴 객체 리터럴 - 배열이나 함수가 아님. 특정 모형을 가진 상태 const 객체 = { 속성1 이름 : 속성1 값, 속성2 이름 : 속성2 값, 속성3 이름 : 속성3 값, } 배열과 객체의 차이 : 객체는 고유 속성들을 갖고 있으나, 배열은 인덱스로만 구분 객체 접근 객체.속성 객체['속성'] 객체 속성 수정 객체 속성 삭제 delete를 활용한다. 속성 'gender'가 삭제되었다.(undefined) 배열과 함수가 객체인 이유 함수와 배열은 특수한 객체 객체 아래에 배열, 함수, 객체 리터럴 개념(목적대로 사용) 객체의 비교 객체 내부의 속성들이 같더라도 저장된 위치가 다르기 때문에 제각각 고유의 값으로 인식된다.(원시값과 차이) array[2]는 array 내부의 인덱스 2 값인 a이기 때문에 tr..