일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- includes()
- map()
- 교집합
- charAt()
- Math.sqrt()
- new Date()
- useEffect()
- indexOf()
- Eventlitener
- filter()
- 소수점 올림내림
- parseInt()
- useRef()
- Math.floor()
- toUpperCase()
- substring()
- Number()
- sort()
- jsx반복문
- isNaN()
- 항해99솔직후기 #항해99장점 #항해99단점 #부트캠프추천
- 차집합
- slice()
- setDate
- React
- useState()
- repeat()
- reat if문
- 3진수
- getday()
- Today
- Total
목록전체 글 (107)
개발자로 전향중
Linked List Linked List는 배열과 달리 메모리상에 index에 의한 물리적 배치를 하지 않고, node를 생성 후 해당 node의 pointer에 의해 다음 node를 연결한다. 이를 통해 Linked List는 데이터 삽입/삭제시 데이터의 구조를 재정렬하지 않아도 된다. Linked List의 이점 새로운 elements를 삽입, 삭제 시 용이 restructuring이 덜 복잡함 Linked List의 단점 array보다 많은 메모리 사용 특정 element를 검색시 비효율적임 Linked List 적용 data를 연달아 추가, 삭제 시 용이 Linked List 구현 Javascript에서 연결리스트는 객체를 통해 구현할 수 있다. 아래 예시는 두개의 객체를 next로 연결하여 L..
시간 복잡도(Time Complexity) 및 공간 복잡도(Space Complexity) 알고리즘을 평가할 때 시간 복잡도와 공간 복잡도를 사용합니다. 시간 복잡도: 알고리즘의 수행시간을 평가 공간 복잡도: 알고리즘 수행에 필요한 메모리 양을 평가 시간 복잡도와 공간 복잡도는 주로 점근적 표기법 중 빅오 표기법을 이용하여 나타냅니다. 이유는 최악의 경우에도 해당 알고리즘이 어떤 성능을 낼지 가늠해볼 수 있기 때문입니다. 시간 복잡도(Time Complexity) 알고리즘의 수행 시간을 분석할 때 시간 복잡도를 사용합니다. 수행 시간은 실행환경에 따라 다르게 측정되기 때문에 기본 연산의 실행 횟수로 수행 시간을 평가합니다. 기본 연산은 다음과 같습니다. 데이터 입출력 - copy, move... 산술 연..
알고리즘과 자료구조의 관계 - 자료 구조 (Data Structure) : 자료를 처리하는 방법 자료구조는 말 그대로 자료(data)를 담는 구조이다. 자세히 말하면 컴퓨터 과학에서 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다. 더 정확히 말해, 자료 구조는 데이터 값의 모임, 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다. 책장을 예로 들어보면, 책장에 책을 꽂아 넣으려고 하는데 책을 알파벳 순서로 꽂아둘 것인지 아니면 책상에 쌓아 올려둘 것인지를 결정하는 것, 즉, 이런 데이터가 저장된 형태를 결정하는 것이 자료구조이다. 구현에 따라 배열 : 가장 일반적인 구조이다. 메모리 상에 같은 타입의 자료가 연속적으로 저장된다. 자료값을 나타내는 가장 작은 단..
SEO (Search Engin Optimiztion) 검색 엔진 최적화. 네이버나 구글같은 검색 엔진에 뭔가를 검색했을 때, 내가 만든 사이트가 검색 결과에 더 잘 보이게 하기 위한 과정. 검색을 하면, 검색 엔진이 내 사이트 내용물(meta tag나 html 등)을 훑어가고 내용물에 특정한 인덱스 같은 것을 만들어 검색 결과에 보여준다. 검색 엔진 최적화는 검색엔진이 내 사이트를 크롤링할 때 정보를 더 잘 가져갈 수 있도록 도와주는 과정이기도 하다. react에서 SEO? React는 HTML 파일이 딱 1개 뿐이고, 렌더링이 되기 전까지(javascript를 실행하기 전까지)는 껍데기 html만 있어, 기본적으로는 검색 엔진에 올라가기 어렵다. 그래서 react에서도 검색 엔진이 긁어갈 수 있도록 ..
불리언 (Boolean) true/false let isDone: boolean = false; 숫자 (Number) JavaScript처럼, TypeScript의 모든 숫자는 부동 소수 값입니다. 부동 소수에는 number라는 타입이 붙혀집니다. let decimal: number = 6; let hex: number = 0xf00d; let binary: number = 0b1010; let octal: number = 0o774; 문자열 (String) TypeScript에서는 텍스트 데이터 타입을 string으로 표현합니다. JavaScript처럼 TypeScript도 큰따옴표 (")나 작은따옴표 (')를 문자열 데이터를 감싸는데 사용합니다. let color: string = "blue"; co..
길다고 하면 짧고 짧다고 하면 긴 항해99가 끝났다. 처음 부트캠프를 시작하며 아무리 열심히 해도 99일은 취업을 하기에 짧은 시간이 아닐까라는 의심을 하며 시작했지만 99일간의 시간은 많은 경험과 기술을 터득하기에는 부족할지 몰라도 어떤 코딩이든 내가 해낼 수 있다는 자신감을 심어주기에는 충분했다. 이러한 경험이 좋은 결과로도 이어질 것이라 생각한다. 항해99를 시작하게 되면 정말 다양한 사람들과 협업 경험을 할 수 있다. 이름을 언급할 수는 없지만 정말 다양한 사람이 있었다. 서로 배려하기 위해 노력했지만 부딪힐 수 밖에 없는 상황도 있있다. 개발에서의 협업은 서로를 이해하고 배려하는 측면의 접근보단 좋은 결과물을 내기 위해 끊임없이 토론하고 대화하는 과정임을 깨달았다. 실전프로젝트 후기를 적어보자면..
// Statistics // For submit // const fs = require('fs'); // const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n').map(num => parseInt(num)); // For local test // const input = [5, 1, 3, 8, -2, 2]; // const input = [1, 4000]; const input = [5, -1, -2, -3, -1, -2]; const N = input.shift(); const sortedNumArr = input.sort((a, b) => a - b); const numMap = {}; for (let num of sort..
문제를 풀기 위한 아이디어 규칙이 복잡해보이지만 숫자를 대입하여 생각해보면 결국 바로 인접한 집끼리만 다른 색이면 된다는 것이다. 일단 주어진 각 집을 빨강,초록,빨강으로 칠하는 비용들을 2차원 배열에 저장한다. input = [ [26, 40, 83], [49, 60, 57], [13, 89, 99] ] 그 다음으로는 첫번째집을 R로 칠한 경우 / 첫번째 집을 G로 칠한 경우 / 첫번째 집을 B로 칠한 경우를 모두 다 따져주면 된다. 이를 점화식으로 세우면, 두번째 집부터는 다음과 같은 점화식이 성립한다. input[i][0] = min(input[i-1][1], input[i-1][2]) + input[i][0] input[i][1] = min(input[i-1][0], input[i-1][2]) +..