Object Constructor - 생성자로 객체 만들기

객체 생성자(Object Constructor)는 비슷한 객체를 무수히 만들어낼 수 있다.

cf. 객체 리터럴로 객체를 생성할 수도 있다. var dog = { name: ‘메시’, breed:’푸들’, weight: ‘6kg’}

객체 생성자 만들기

1
2
3
4
5
6
7
function Dog(name, breed, weight) {
//객체 생성자 특징 1. a function, 2.name with Upper Case
this.name = name; //3. 'this' Keywords
this.breed = breed;
this.weight = weight;
//4. return nothing
}

객체 생성자 특징

  1. 객체 생성자는 함수이다.
  2. 생성자 함수명은 일반적으로 대문자로 시작한다.
  3. this 키워드를 사용한다.
  4. 생성자 함수는 아무것도 반환하지 않는다.

m개 중 n개를 선택하여 만들 수 있는 모든 경우의 수

이 알고리즘을 생각하게 된 이유

알고리즘 문제를 풀다보면, 배열의 요소들 중에서 몇 개를 선택하여 배열을 만드는 알로리즘을 짤 수 있다면 문제를 효율적이고 쉽게 풀 수 있다는 생각이 들었고 이 알고리즘을 생각하게 되었다. 인터넷에서 n개를 선택하여 만들 수 있는 모든 경우의 수를 추출하는 알고리즘을 찾아보았지만, 잘 이해가 되지않아 직접 만들어보게 되었다.

홀수번 나타나는 정수 찾기

주어진 배열에서, 홀수 번 나타나는 정수를 찾아주세요. 단, 홀수 번 나타나는 정수는 항상 한개뿐입니다. 예를들어, [1, 1, 1, 1, 10] 에서 1은 4번 나타나고, 10은 1번 나타나므로, 홀수 번 나타나는 정수는 10 입니다.

컵 돌리기 게임

세 개의 뒤집힌 컵 중 한 개의 컵 안에 열쇠가 있습니다. 당신이 열쇠를 찾기 위해 컵을 들어올리려는 순간, Drogon이 빠르게 컵의 위치를 뒤섞기 시작합니다. 컵의 교환이 끝났을 때, 열쇠가 들어있는 컵을 찾아야 합니다. 컵의 위치는 인덱스로 표현됩니다. (0부터 시작) 키가 들어있는 컵의 인덱스와 교환된 컵의 인덱스를 나타내는 배열(swaps)을 입력으로 받습니다.

원하는 요소 배열에서 모두 찾기

1
2
3
4
5
6
7
8
9
10
11
var indices = [];
var array = ['hi', 'b', 'hi', 'c', 'hi'];
var element = 'hi';
var idx = array.indexOf(element);

for(;idx !== -1;){
indices.push(idx);
idx = array.indexOf(element, idx + 1);
}

console.log(indices);//[0, 2, 4];

arr.indexOf(searchElement, fromIndex) fromIndex부분은 fromIndex 부분부터 searchElement를 찾으라는 뜻이다. fromIndex가 음수라면, 배열의 처음부터 searchElement를 찾게 되고, fromIndex가 배열의 길이보다 크거나 같다면, -1이 반환된다.

<출처>

Concatenated, 반복 문자열 문제

The string is called prime if it cannot be constructed by concatenating some (more than one) equal strings together. For example, “abac” is prime, but “xyxy” is not(“xyxy”=”xy”+”xy”). Given a string determine if it is prime or not.

Git이란 무엇일까

내용은 계속 수정 및 업데이트 예정
markdown도 적응중

Git이란 무엇일까 _ 이력 저장소

Git is a distributed version-control system for tracking changes in source code during software development. It is designed for coordinating work among programmers, but it can be used to track changes in any set of files. (Wikipedia)

깃이란, 한마디로 이력 저장소 이다. 개발자들이 협업을 효율적으로 할 수 있도록 변경사항들을 추적할 수 있는 시스템이다. 변경사항은 소스코드 뿐아니라 파일의 변화도 포함한다.

배열 특정 요소 삭제

코딩문제를 풀때, 특정 요소를 삭제하는 방법은 자주 사용된다. 아래는 배열의 특정 요소 삭제 방법과 내가 자주 실수하는 포인트들을 정리하였다. 다음은 배열의 특정 요소 삭제 방법 이다.

1
배열이름.splice(인덱스, 1);

간단한 사용 예시

1
2
3
4
var array = [1, 2, "ipad", 3, 4, 5];
var apple = array.splice(2, 1);
//array = [1, 2, 3, 4, 5]
//apple = ['ipad'], apple은 배열, array 타입이 된다

실수하는 포인트

주의사항

  1. slice가 아닌 splice
  2. 문자열에서는 사용이 불가능하다
  3. splice는 기존 배열또한 변형이 일어나며, slice는 기존배열에 변화를 주지 않는다 (2019.5.2 update)

참고 Object의 속성을 지우는 메서드는 delete이다

1
2
3
var object = { Brand: "Samsung", ModelNumber: "2098d0dkd0" };
delete object.ModelNumber; //delete_객체명.속성명
//object = {Brand: 'Samsung'}
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×