분류 전체보기 25

[Javascript] 객체(Object) 생성과 참조, 삭제, 조회

아래의 프로그래머스 문제를 해결하며 사용한 객체에 대해 정리하고자 합니다. https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 객체? - 객체는 이름(key, name)과 값(value)으로 구성된 프로퍼티의 집합이다. 1. 객체의 생성 new Object() 변수에 빈 객체를 생성 ( let obj = {}; ) 생성자 함수를 사용한 객체 생성 2. 객체의 프로퍼티 추가 - key의 값은 문자열로 작성해야 한다. (따옴표로 감싸는게 원칙! but..

React, JavaScript 2023.06.09

[Javascript] sort 함수

기본적으로 함수는 값을 문자열 sort()로 정렬 한다. => 배열 자체가 변경되는 함수이기에 사용시 주의해야 한다. 그러나 다음과 같이 숫자로 정렬할 경우 예상과 다른 결과를 얻게 된다. const points = [40, 100, 1, 5, 25, 10]; points.sort(); //1,10,100,25,40,5 1, 5, 10, 25, 40, 100 이렇게 순차적으로 정렬이 되기 원했지만 sort()메서드로 정렬 할경우 2가 1보다 크기 때문에 25가 100보다 크다고 처리 된다. 그래서 위와 같은 결과가 나타나게 된다. 이러한 문제는 비교함수를제공해서 해결 할 수 있다. const points = [40, 100, 1, 5, 25, 10]; points.sort(function(a, b) { ..

React, JavaScript 2023.05.31

CS50 Study

2진법 0과 1로만 데이터를 표현하는 방식 비트 2진법에서 하나의 자릿수를 표현하는 단위 0과 1 두 가지 값만 가질 수 있는 측정 단위 비트열 비트 한 개는 많은 양의 데이터를 나타내기에 턱없이 부족하기에 비트열을 사용 비트열들이 모여 더 큰 단위들이 될 수 있다. 바이트 => 8 비트, 킬로바이트 => 1,000 바이트 ... 문자의 표현 ASCII : 128개의 부호로 정의된 문자의 표현 Unicode : 더 많은 비트를 사용하여 더 다양한 다른 문자들도 표현가능하도록 지원 (ex. 이모티콘) 그림, 영상, 음악의 표현 빨간색, 초록색, 파란색을 띄는 수만은 점들의 조합으로 표현 => RGB 방식 C언어 오래된 언어이기 때문에 변수가 저장하는 데이터의 종류를 정확하게 명시해야 한다. 데이터 타입 b..

카테고리 없음 2023.05.30

[Algorithm] 완전탐색, 브루트 포스

🗒️ Brute Force(브루트 포스)란? 브루트 포스는 Brute(무식한) + Force(힘) 즉, **발생 가능한 모든 경우를 무식하게 탐색한다는 뜻**을 말한다. > 해가 하나 이상 존재한다는 가정을 세우고 모든 범위를 탐색하기 때문에 무조건 정답을 찾을 수 있다. (수가 커질수록 시간복잡도가 크게 증가) ✏️ 완전탐색의 장단점 장점 - 알고리즘을 설계하고 구현하기 매우 쉽고 용이하다. - 복잡한 알고리즘 없이 빠르게 구현이 가능하다. 단점 - 알고리즘의 실행 시간이 매우 오래 걸린다.(모든 경우의 수를 탐색하기 때문) - 메모리 효율 측면에서 매우 비효율적이다. 🏷️ Brute Force(브루트 포스)의 종류 > 선형 구조 - 순차탐색 > 비선형 구조 - 백트래킹, DFS(깊이 우선 탐색), B..

Algorithm 2023.05.25

[Javascript] 문자열 잘라주기 substr(), substring(), slice()

백준 알고리즘 문제를 풀며 문자열을 잘라주는 3가지 함수 substr(), substring(), slice()에 대한 사용법을 정리해보았습니다. 1. substr(start, length) substr() 함수는, 시작 index부터 잘라내고자 하는 length만큼 문자열을 잘라내어 return해주는 함수입니다. length를 생략할 경우 시작 위치부터 문자열 끝까지를 잘라내어 반환합니다. const s = "안녕하세요?"; const sub = s.substr(0, 2); // index 0부터 length 2만큼 잘라내어 반환 console.log(sub); // 안녕 2. substring(start, end) substring() 함수는 시작 위치에서 종료 위치까지 문자열을 잘라내어 return..

React, JavaScript 2022.09.28

[JavaScript] Set 객체

Set 객체는 ES6에서 등장한 데이터 타입으로 배열의 중복되는 값을 가지지 않는 값들의 리스트를 말한다. 그리고 이 때 값은 순서가 존재하지 않는다. Set 객체 선언하기 const set = new Set(); 특정 요소 추가하기: add Set 객체에 주어진 값을 갖는 새로운 요소를 추가한다. //Set.add(value) set.add(1);// Set { 1 } set.add('a');// Set { 'a' } set.add('hi');// Set { 1, 'a', 'hi' } 특정 요소 확인하기: has Set 객체에 주어진 값을 갖는 요소가 있는지 확인한다. (true / false) // Set { 1, 'a', 'hi' } //Set.has(value) set.has(1);// true ..

React, JavaScript 2022.09.26

[JavaScript] forEach()를 사용하여 key-value 생성하기

백준 알고리즘 문제를 풀며 key-value 생성 방법을 메모하기 위해 작성하였습니다. https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 기존에 알던 방식으로 제출하였을 경우 시간초과 문제가 발생하여 이를 해결하기 위해 인덱스를 key - value 값으로 지정하여 시간초과 문제를 해결하였습니다. const fs = require("fs"); let input = fs.readFileSync("/..

React, JavaScript 2022.09.16

[JavaScript] 배열의 중복 요소 제거하기

백준 알고리즘 문제를 풀며 배열의 중복 값 제거 방법을 메모하기 위해 작성하였습니다. https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 1. filter(), indexOf()를 사용하여 중복을 제거하는 방법 const arr = ['i', 'im', 'it', 'no', 'no', 'but', 'more', 'more']; console.log(arr); // ['i', 'im', 'it', 'no', 'no', 'but', 'mor..

React, JavaScript 2022.09.13

[JavaScript] 숫자 배열의 최소,최대 값 구하기

알고리즘 문제를 풀며 배열의 최소,최대 값을 구할 시 기존의 min, max를 사용하면 NaN 값이 생기게 되어 해결법을 찾아 정리해보고자 한다. 기존 최대 또는 최소 함수를 사용하는 예시. Math.max(1, 2, 3) // 3 Math.min(1, 2, 3) // 1 하지만 만약 숫자의 배열을 가지고 있고 그 안에서 최소값과 최대값을 찾고자 한다면 다음과 같은 현상이 발생한다. Math.min 또는 Math.max 메서드에 배열을 넘기면 NaN이 나온다. const nums = [1, 2, 3] Math.min(nums) // NaN Math.max(nums) // NaN 그 이유는 Math.min 또는 Math.max 함수는 배열이 아니라 고유한 변수를 기대하기 때문이다. 이를 해결 하기 위해 E..

React, JavaScript 2022.09.06

[JavaScript] join()

백준 문제를 공부하며 문자열을 이어주는 방법을 찾아보던 중 join()이라는 함수를 알게되어 이를 정리하고자 한다. arr.join([구분자]); 구분자를 지정하지 않으면 기본적으로 쉼표(,)를 통해 배열을 연결해준다. 아래의 예시를 참고하여 결과값을 알 수 있다. const arr = ['사과', '바나나', '딸기']; arr.join(); cosole.log(arr); // 사과,바나나,딸기 arr.join(''); cosole.log(arr); // 사과바나나딸기 arr.join('/'); cosole.log(arr); // 사과/바나나/딸기

React, JavaScript 2022.08.23