일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CJ UNIT
- 스프링
- 알고리즘
- python
- 공부일지
- 코틀린
- 정보처리산업기사
- kotlin
- programmers
- 시나공
- 백준알고리즘
- 백준 알고리즘
- 백준
- 회고
- 코딩교육봉사
- 1과목
- MYSQL
- BFS
- C++
- softeer
- 자바
- 파이썬
- 코딩봉사
- 데이터베이스
- SW봉사
- 프로그래머스
- java
- 소프티어
- 문제풀이
- SQL
- Today
- Total
목록기타 학습/Language (29)
JIE0025
매개변수 디폴트 값 C++ 함수에선 매개변수에 디폴트 값을 줄 수 있다. 함수 선언시에 매개변수 = 디폴트값 형식으로 쓰면 된다. #include int sum(int a = 3, int b = 5){ return a+b; } using namespace std; int main(){ cout
매크로 함수? 씨언어에서 아주 간단하게 정의하는 함수 #define 함수이름(인자이름) ( 리턴할 값 ) - 매크로함수는 자료형에 의존적이지 않다. - 그러나 복잡한 return 값이 생길 경우 정의하기가 쉽지 않은 특징이 있다. - 일반 함수보다 실행속도에서 이점이 있다. - 전처리기에 의한 처리 #define SQUARE(x) ((x)*(x)) #define PIE 3.14 #define CIRCLE(x) ((PIE)*(x)) //매크로 함수 #include int main(){ //매크로 함수의 사용 cout 실행속도의 장점은 그대로 가져옴. - 실행속도 빠름 - 일반함수처럼 쉽게 정의 가능 - 컴파일러에 의한 처리 (컴파일러가 성능에 따라 알아서 판단 : 인라인 무시/처리하기도 함) - 자료형에 ..
함수 오버로딩? C언어에선 함수이름만으로 함수를 찾아서 동일한 이름의 함수를 선언할 수 없으나 C++에선 함수이름 + 인자의 형식,개수 에 따라 찾아서 동일한 이름의 함수를 선언할 수 있다. 이런 방식을 함수 오버로딩이라고 함. 예제 1 : swap 함수를 함수오버로딩을 사용해 정의하라. #include using namespace std; void swap(int* num1, int* num2) { int tmp = *num1; *num1 = *num2; *num2 = tmp; } void swap(char* ch1, char* ch2) { char tmp = *ch1; *ch1 = *ch2; *ch2 = tmp; } void swap(double* db1, double* db2) { double tm..
백준 1927번 최소힙 씨쁠쁠 https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 오늘은 우선순위큐를 사용하는 방법을 익히기 위해 최소힙이라는 문제를 풀었다. 일단 기본적으로 우선순위큐도 큐이기 때문에 queue를 include해주면 된다. #include 데이터 삽입과 정렬이 한번에 일어나서 시간복잡도는 O(logN) 기본 형태 priority_queue pq; priority_queue pq2; T에 자료형, containe..
string 형의 데이터에서 어떤 단어가 존재하는지 찾을 떄 find와 npos를 사용한다. find 문자열 앞에서부터 검색, 검색 문자열이 시작되는 위치 반환 검색 문자열이 없으면 string::npos(4294967295) 반환. #include #include using namespace std; int main(){ string s = "hello my name is jieun"; if (s.find("me" == string::npos){ cout
오늘은 python 문법 공부를 하다가, API를 사용하는 실습을 해보았다. API 사용은 어렵지 않지만, 실제로 해보아야 늘기 때문에 언어를 공부할 때마다 쉬운 실습을 해보는 편이다. 참고 영상 : https://youtu.be/umOQNlQMoDc 먼저 Twilio 라는 사이트에 들어가서 회원가입을 하자 https://www.twilio.com/ Twilio - Communication APIs for SMS, Voice, Video and Authentication www.twilio.com 회원가입 시 이름, 이메일, 비밀번호를 입력하고 start your free trial 을 클릭한다. 그러면 이메일 전송인증을 하라는 창이 뜬다. 이메일로 들어가서 confirm 을 통해 인증을 해주자. 이메일..
함수 호출과 메모리 반환 어셈블리 언어에서 어떻게 이루어지는지 알아보자. 다음은 설명을 위한 가정이다. - 함수 B에서 함수 A를 호출하는 상황이다. - 함수 A는 매개변수로 int b, int c, int d를 갖고 있으며, 반환형은 int형이다. 1. CALL 함수 A를 호출 하면 다음과 같은 세가지 단계를 거친다. 1) push : 매개변수 저장 push를 통해 a라는 함수의 인자로 들어갈 값을 저장한다. 함수 a의 매개변수는 총 3개 이므로 push를 세번 반복할 것이다. 함수 호출시 가장 먼저 하므로 스택의 밑부분에 위치한다. 2) call : 호출한 명령어의 주소 저장 EIP(instuction Pointer)로 다음 명령어 주소값에다가 현재 우리가 함수를 호출했던 주소를 저장해줌으로서 ret..
➡️ 기초 어셈블리 명령어➡️레지스터 종류와 역할➡️추가 설명 - Pointer Register 1) ESP (Stack Pointer) : 가장 최근에 스택에 입력된 데이터의 포인터 2) EBP (Base Pointer) : Stack Frame을 사용할 때 현재 실행중인 함수가 사용하는 Stack Frame의 바닥을 가리킴 3) EIP (Instruction Pointer) : 다음에 수행 될 명령어의 포인터 * Stack Frame ? : 현재 수행중인 함수의 스택영역, ESP와 EBP 사이의 공간 - PUSH : stack에 데이터를 저장함 (esp값 자동 조정 : 감소)- POP : stack에서 데이터를 지움 (esp 자동 조정 : 증가)아래 그림을 통해 stack push pop 에 대해 간..
오늘은 JavaScript 객체지향 실습을 하기로 했다 실습 소스코드 게시글 : https://www.zerocho.com/category/JavaScript/post/573d876380f0b9102dc370b8 객체지향을 실습해볼 수 있으며, 추가 기능을 통해 JavaScript의 객체지향 프로그래밍을 연습 해 볼 수 있다. 먼저 게시 되어 있는 소스를 직접 작성해보면서 작성자분의 빌드 화면이 나오도록 만들었다. 이름을 입력하면 결과가 나온다. 그럼 이제부터 기능추가를 해보겠다. ------------------------------------------------------------------------------------------------------------..