일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 에라토스테네스의 체
- 티스토리챌린지
- map
- stoi
- 백준
- Sort
- 문자열
- priority_queue
- 정렬
- 백트래킹
- 다이나믹프로그래밍
- 최소공배수
- 우선순위큐
- 유클리드호제법
- 알고리즘
- DP
- BFS
- 프로그래머스
- DFS
- vector
- 깊이우선탐색
- 오블완
- 분할정복
- int
- Set
- 그래프
- 배열
- N과M
- 이분탐색
- C++
- Today
- Total
목록전체 글 (220)
안녕 세상아,
바인딩이란 프로그램의 어떤 기본 단위가 가질 수 있는 구성요소의 구체적인 값, 성격을 확정하는 것이다. 구체적인 값을 할당하는 각각의 과정이며 값들이 확정되어 더이상 변할 수 없다. 바인딩에는 정적 바인딩, 동적 바인딩이 있다. 1. 정적 바인딩 (static): 실행 이전에 값이 확정된다. 많은 것이 미리 결정되기 때문의 실행 효율이 높아진다. ex) c언어 미리 변수 타입 결정 2. 동적 바인딩 (dynamic): 실행 이후 값이 확정된다. 적응성은 뛰어나지만 시간이 더 걸린다. 유연하기 때문에 많이 사용된다. ex) python 변수 결정 미리 안되어있음

벡터 입력을 받다 보면 int형 변수와 string형 변수 두가지 다 받아서 정렬을 해야 되는 경우가 있다. 이런 상황에서 사용할 수 있는 것이 pair 함수이다.pair를 사용하기 위해서는 헤더에 #include 헤더를 추가한다. vector > 변수 ; - 2개의 각각 지정한 타입의 값을 저장- 저장한 값은 .first 와 .second 로 각각 접근 가능 -> .first는 첫번째 인자 반환, .second는 두번째 인자 반환- make_pair(value1, value2)#include #include #include #include #include using namespace std;int main() { vector > v; v.push_back(make_pair(10, "ㄱ"))..
내가 API를 만들고 프론트 하시는 분이 내 API를 사용해서 react에서 사용하시는데 갑자기 오류가 났다. 프론트 하는 사람들이 처음 만나는 난관이라고 하는데 해결은 백엔드에서 하는거였더라고요..? 물론 해결 방법은 굉장히 간단하지만 CORS가 뭔지 알아야 해결할 수 있으니까 CORS를 알아보도록,, 우선 CORS (cross-origin resource sharing)는 SOP의 해결책이라고 볼 수 있다. 근데 왜 오류가 날 때 CORS 라고 뜨는지,,모를일,,,이지만 궁금해서 찾아봄. - > SOP 위반 오류가 맞지만 SOP오류인 것을 더 구체적으로 보고하여 개발자들이 CORS 설정을 통해 해결할 수 있도록 돕는 것이랍니다,, 암튼 CORS를 알기 위해서는 SOP를 알아야한다. SOP는 대부분..
사실 계수정렬은 값을 비교해서 정렬하는 방식이라기 보다는 값의 개수를 세고 그 개수에 따라서 위치를 설정해 주는 방식이다. 데이터 간의 크기를 비교하는 정렬은 아니다.대신 굉장히 빠른 속도를 자랑하는 정렬이다. 최선의 경우 퀵정렬보다 빠르다. 하지만 배열에 원소가 많다면 비효율적이다. 계수 정렬 동작 원리는 다음과 같이 data라는 배열을 정렬한다. int data[20] = { 1,4,2,5,3,2,3,4,5,2,2,2,3,4,1,4,2,5,5,1 }; 1. 첫 번째로 해야할 일은 각 숫자가 몇 번 나오는지 세는 것이다.수12345나온 횟수36344 data 배열에 등장한 수와 그 수가 몇 번 나왔는지 알 수 있다. 2. 그 다음 각 수의 누적합을 구한다. 수12345나온 횟수36344횟수에 대..

DB 모델링 과정1) 개념적 모델링--> entity 도출 + 관계 설정 2) 논리적 모델링--> data 구조 및 속성 정의 + 정규화3) 물리적 모델링--> 실제로 코드화 DB 설계할 때 정규화까지 하면 물론 좋지만 과장님이 일단 정규화까진 안해도 된다고 하셨다. 나의 수준을 고려한것일까나,..?^^... 암튼 flow 차트를 기반으로 DB를 설계한건 처음 했던 경험이라 처음부터 차근차근 해나갔다. 1. 요구사항 분석 - 도출된 요구사항: flow차트를 기반으로 해서 기호를 문장으로 바꾸는 작업이다. 최대한 예외사항 없이 풀어내어 적어주는 것이 좋다. 문장으로 바꾼 후 자주 사용되는 중요 단어 위주로 밑줄을 치면서 단어를 도출해주는 것이 좋다. 사용자- 문자를 받기 위해 사용자들은 번호, 체류시..

2차원 vector 초기화 - vector v ; - vector v (n, vector(m,0)); -> vector를 n칸 만들고 그 안을 vector(m,0) 으로 채운다. 이와 같은 형태로 선언 할 수 있다. 2차원 vector 할당 - v[n][m] = k; (k는 실수) -> 벡터의 메모리가 이미 할당되어 있어서 바로 접근 가능 -v[x].push_back (k) (x, k는 실수) -> 벡터의 메모리가 할당되어 있지 않아서 pus_back을 이용하여 할당 #include #include #include #include #include using namespace std; int main() { vector v1 (6, vector(5, 0)); v1[1][0]..
벡터는 배열 기반 컨테이너이다. 사용할 때 헤더에 #include 를 써줘야 한다. 벡터는 배열에 비해 속도적인 측면에서 성능은 떨어지지만 메모리를 효율적으로 관리하고 예외 처리가 쉽다는 장점이 있어서 많이 사용하고 있다. 또한 배열과 사용법이 거의 비슷해서 배열을 알고있다면 사용하기 매우 쉽다는 장점이 있다. vector 초기화 vector 변수명 벡터 생성 vector 변수명(숫자) 숫자만큼 벡터 생성 후 0으로 초기화 vector 변수명 = {변수 1, 변수 2, 변수 3...} 벡터 생성 후 오른쪽 변수 값으로 초기화 vector 변수명[] = {, } 벡터 배열(2차원 벡터)선언 및 초기화 (열은 고정, 행은 가변) vector

정렬은 숫자를 오름차순 또는 내림차순으로 정리한 것이다. 이러한 정렬 중 버블 정렬이란? 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘이다. -> 인접한 2개의 원소를 비교하여 크기가 순서대로 되어 있지 않으면 서로 교환하게 된다. (==선택정렬, 두개의 기본 개념이 비슷하다) 버블 정렬 알고리즘 구체적 개념 버블 정렬은 첫 번째 원소와 두 번째 원소를, 두 번째 원소와 세 번째 원소를, 세 번째 원소와 네 번째 원소를, 이런 식으로 (마지막 - 1)번째 자료와 마지막 자료를 비교하여 교환하면서 자료를 정렬하게 된다. 1회전을 수행하고 나면 가장 큰 원소는 맨 뒤로 이동하게 된다. 그러므로 정렬을 1회전 수행할 때마다 정렬에서 제외되는 데이터가 하나씩 늘어나게 된다. < 버블 정렬 ..
void 함수 반환하는 값이 없는 함수 함수 안에 return 값이 없다. #include using namespace std; void printGrade(double score) { if (score >= 90.0) cout
int -> char(알파벳) 1. int형을 소문자로 변환하는 방법이다. - 기본적으로 알파벳 소문자는 26개이고, 1이 a로 나오는 경우이다. - 원하는 수(x)를 입력 받은 다음 x + 'a' - 1 해주면 된다. #include using namespace std; int main(){ int number; char alpa; //알파벳 나오게 함 cin >> number; alpa = num + 'a' - 1; cout > number; alpa = num + 'A' - 1; cout int -사실 문자를 int로 바꾸는 것은 아주 쉽다. #include using namespace std; int main() { char a = 'a'; int x = a; cout int와 달리 char->i..