일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Payload
- forloop
- 우아한테크코스
- 동등성
- 나동빈
- 동빈북
- 이코테
- HashCode
- Signature
- 해커톤
- JWT
- 컴공선배
- github action
- 너디너리
- ssh-action
- CICD
- 왕실의나이트
- makeus
- 우테코
- nestJS
- 이것이취업을위한코딩테스트다
- remove
- Hackathon
- 동일성
- loop
- object
- CMC
- equlas
- 라이징캠프
- 딕셔너리
- Today
- Total
목록공부기록 (15)
iamjooon2님의 블로그
CORS란? MDN의 정의 CORS(Cross-Origin Resource Sharing, 교차 출처 리소스 공유)는, 추가 HTTP 헤더를 사용하여 한 URL에서 실행 중인 웹 App이 다른 URL의 선택된 resource에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제이다 죽어도 양반은 못되나보다. 교과서스러운 정의가 맘에 안든다.... 내 블로그니까 내 맘대로 정리한다 CORS는 왜 존재하는가? 브라우저(프론트)가 약속돼있던 서버가 아닌 다른 서버는 믿지 못하기 때문 내가 iamjooon2.com의 호스트일때, 브라우저 입장에서 개발하고 있는 사이트 외에 다른 수상한 웹이다.. (실제로 예전같은 경우, 다른 웹에서 자원을 떙겨쓸 일이 매우 적었다고 함) 하지만 웹이 발달하며, 여러 웹끼..
요즘 나동빈님의 이것이 취업을 위한 코딩테스트다 책을 보고있다. 방학을 맞아 하고있는 UMC 앱런칭 프로젝트가 내 메인이긴 하지만, 알고리즘 관련 문제는 못해도 하루에 하나씩은 꾸준히 풀자는 나와의 약속과 취업을 준비하며, 코딩테스트를 통과하기 위한 최소한의 실력을 위해 꾸준히 보고있다. 그 중 왕실의 나이트라는 문제를 푸는 중, 2차원 배열을 그린 후 나의 좌표를 행은 숫자, 열은 알파벳으로 입력받는 구간이 있었다 xy=input() # ex) a1 row = int(xy[1]) col = int(ord(xy[0])) - int(ord('a')) + 1 띠용? 아스키코드? 예전 C++ 수업때 처음 ASCII코드를 다루는 코드를 접했을때 많이 헤맸던 기억이 있다. // ... while (true){ c..

우선순위 큐 큐는 먼저 들어오는 데이터가 먼저 나가는 FIFO 형식의 자료구조이나, 우선순위 큐는 먼저 들어오는 데이터가 아닌, 우선순위가 높은 데이터가 먼저 나간다. 또한, 내부적으로 이진 트리(Binary Tree) 형태의 힙(Heap)이라는 형태로 돌아가게 된다 그림을 보면 우선순위 큐를 이진 트리가 있고, 가장 최상단의 root node가 모든 노드를 통틀어 가장 큰 값을 가지고 있다는 것을 알 수 있다. 이와 같이 루트 노드에 큰 값이 들어가있으면 max-heap으로, 루트 노드에 가장 작은 값이 들어가 있으면 min-heap이라 한다 각 트리의 노드에 번호를 붙이고, 이 번호를 배열의 인덱스로 생각하면 효과적으로 힙을 구현할 수 있다 삽입/삭제를 한 번 할때 시간 복잡도는 O(logN)을 가지..

스택 삽입/삭제시 시간복잡도는 O(1) 선입후출의 성질을 갖고 있다 -> FILO : First Input Last Out(선입후출) 맨 처음 들어온 데이터가 가장 마지막에 나오게 되는 추상 데이터타입이다 과자 프링글스를 생각하면 딱이다 브라우저의 뒤로가기 기능 등에 사용된다 구현 스택에 데이터를 집어넣을 때는 push 스택에서 데이터를 추출할 때는 pop을 사용한다 코드 // C++ stack s; s.push(123); s.push(456); s.push(789); printf("size: %d\n", s.size()); while (!s.empty()) { printf("%d\n", s.top()); s.pop(); } # python s = [] s.append(123) s.append(456) ..
배열 가장 기본적인 자료구조이다 삽입 / 삭제의 시간복잡도 : O(N) 탐색 시간복잡도 : O(1) C++에서는 size 변경이 불가하며, python은 리스트를 사용하여 구현한다 // C++ int arr[4] = {10, 11, 12, 13}; arr[2] = 5; # python arr = [10, 11, 12, 13] arr[2] = 5 배열을 생성할 땐, 메모리에 연속된 공간이 생긴다. 탐색시, 임의접근(random access)하기 때문에 탐색속도가 빠르다 O(1) 삽입시 해당하는 위치 뒤에 있는 친구들을 하나씩 다 밀어줘야 하고 삭제시 해당하는 위치 뒤에 있는 친구들을 하나씩 다 땡겨줘야 하기 때문에 시간복잡도는 O(N)이 된다 삽입/삭제를 많이 하는 경우에는 배열이 불리하고, 탐색을 많이 ..