배열
-
new Set으로 배열 중복 데이터 제거하기(feat. 폰켓몬)algorithm 2022. 3. 6. 18:14
문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 첫 번째(3번), 세 번째(2번) 폰켓몬을 선택 첫..
-
spread, rest, 구조분해, 화살표함수, 배열, 객체Topic/JavaScript 2021. 11. 25. 21:44
Spread 문법 배열을 풀어서 인자로 전달하거나, 배열을 풀어서 각각의 요소로 넣을 때에 사용 spread 문법은 기본 배열을 변경하지 않는다. (immutable) 테스트 함수 expect 함수 사용법 expect(테스트하는 값).기대하는 조건 expect(isMost(3)).to.be.true // => 'isMost(3)'의 결과값은 참(true)이어야 한다'. expect(1 + 2).to.equal(3) // => 'sum(1, 2)의 결과값은 3과 같아야(equal) 한다'. -> '기대하는 조건'에 해당하는 함수를 matcher라고 한다. '참인 것이어야 한다' => to.be.true '3과 같아야 한다' => to.equal(3) expect('테스트하는 값).to.equal('기대하는..
-
slice() / splice() / 수도코드의 중요성 / 로직Topic/JavaScript 2021. 11. 22. 22:22
Array..slice() slice() 메소드는 start부터 end 전까지의 복사본을 새로운 배열 객체로 반환한다. 즉, 원본 배열은 수정되지 않는다. slice(start, end) start: 추출 시작점에 대한 인덱스. undefined인 경우: 0부터 slice 음수를 지정한 경우: 배열의 끝에서부터의 길이. slice(-2)를 하면 배열의 마지막 2개의 요소를 추출한다. 배열의 길이와 같거나 큰 수를 지정한 경우: 빈 배열을 반환한다. end: 추출을 종료할 기준 인덱스. (end를 제외하고 그 전까지의 요소만 추출.) 지정하지 않을 경우: 배열의 끝까지 slice 음수를 지정한 경우: 배열의 끝에서부터의 길이. slice(2, -1)를 하면 세번째부터 끝에서 두번째 요소까지 추출 배열의 ..
-
자바스크립트 mutable / immutableTopic/JavaScript 2021. 11. 22. 22:05
mutable / immutable 1. mutable 변할 수 있다는 뜻 참조타입 해당 데이터 주소를 찾아서 값을 변경함 2. immutable 불변, 변할 수 없다는 뜻 원시타입 해당 데이터 주소와 별개의 새로운 주소에 값이 할당 타입과 메소드 mutable / immutable 자바스크립트 문자열은 변경 불가능한 값(immutable value) 'primitive values' 라 한다. (변경이 불가능하다는 뜻은 메모리 영역에서의 변경이 불가능하다는 뜻이다. 재할당은 가능하다) String Method - immutable (원본은 훼손하지 않는다.) String.slice() (새로운 배열 생성 시 자주 사용!) String.replace() String.split() Array Method ..
-
조건문, 문자열, 반복문, 배열, for in, for of, split(), join()Topic/JavaScript 2021. 11. 20. 22:40
오늘 공부하고 적용하는 과정에서 헷갈리는 부분에 대해서 개념을 다시 정리하는 시간을 가진다. 개념을 정확히 인지하지 못하는 순간, 문제에서 원하는 것이 무엇인지 정확하게 파악하지 못하게 되기 때문에 개념의 중요성은 몇 번이고 중요하다고 생각이 든다. 그래야 필요할 때 즉시 꺼내어 사용할 수 있기 때문이다 ! .split() 문자열을 배열로 바꾸는 메소드이다. 사용 시, 괄호 안에 들어가는 내용에 대해서 유의하기! let str = 'I love coding!'; str.split(' '); (3) ['I', 'love', 'coding!'] // 이렇게 문자열에 .split을 이용하면 문자열을 배열로 바꿀 수 있다. // 주의할 점은, str.split() 괄호 안에 넣는 것으로 구분하여 배열로 바꿔 주..