Today
Total
Archives
05-20 07:18
관리 메뉴

tony9402

[SCCC 스터디] 1 일차 STL 본문

알고리즘/공부

[SCCC 스터디] 1 일차 STL

ssu_gongdoli 2019. 1. 11. 21:46
반응형


SCCC 스터디 1일차


STL에 대해 설명을 듣고 간단한 문제를 풀며 공부했다.




내용 간단히 정리


1. memset


string.h, memory.h 안에 있으며 초기화 할 값은 바이트 단위이다.


(여기서 배운 내용은 아니지만 내가 알고 있는 꿀팁은 int형인 배열에 0x3F의 값을 초기화 한다면 배열에는 0x3F3F3F3F의 값이 들어간다.)
int arr[1000];

memset(arr, 0x3F, sizeof(arr));


arr[0] == arr[1] == arr[2] == ... == arr[999] == 0x3F3F3F3F


이는 다익스트라 등의 알고리즘에서 많이 사용한다.


2. math.h


 - 이 헤더파일 안에는 Hypot => sqrt(x^2 + y^2)의 값, 즉 두 점과의 거리를 구하는데 사용하는 식이 있다.


 - 직선의 기울기를 구할 때 사용하는 arctan인 atan 함수가 있다.


3. iostream


 - cin : 표준 입력 스트림  ==> '>>' 연산자로 입력받는다.

 - cout : 표준 출력 스트림 ==> '<<' 연산자로 출력한다.


cin은 속도가 많이 느릴 수 있으니 cin을 사용할때에는 ios::sync_with_stdio(false)와 cin.tie(0)을 사용하면 된다.

또한 출력을 할 때 endl을 이용하여 줄 바꿈을 하면 TLE가 뜰 수 있으니 endl은 사용하지 말고 '\n'을 이용해 줄 바꿈을 하자.


4. stack => 후입선출 (LIFO) 컨테이너


=> stack 헤더파일 안에 존재


5.  queue =>  선입선출(FIFO) 컨테이너


=> queue 헤더파일 안에 존재


6. deque => 양방향 입출이 가능한 컨테이너 ( double - ended queue )


=> deque 헤더파일 안에 존재


7. vector => 시퀀스 컨테이너


=> vector 헤더파일 안에 존재


8. prioriy_queue => 우선순위 큐


=> queue 헤더파일 안에 존재


9. pair 두 개의 자료형을 쌍으로 묶는 자료형


=> pair 헤더파일 안에 존재


10. tuple  두 개이상의 자료형을 쌍으로 묶는 자료형


=> tuple 헤더파일 안에 존재


11. string 문자열 배열의 상위호환


=> string 헤더파일 사용해야함


12. set 집합 컨테이너


=> set 헤더파일 안에 있다.


13. map  key, value 형식으로 저장하는 컨테이너


=> map 헤더파일 안에 있다.


14. algorithm 컨테이너를 활용한 알고리즘이 있다.


=> algorithm 헤더파일에 구현 되어있음.


15. swap 두 변수의 값을 교체


=> algorithm 헤더파일에 구현 되어있음.


16. fill 컨테이너의 원소들의 값을 변경


=> algorithm 헤더파일에 구현 되어있음.


17. sort 컨테이너의 원소들을 정렬

=> algorithm 헤더파일에 구현 되어있음.


18. unique 컨테이너의 중복된 원소를 1개로 만들때 사용

=> algorithm 헤더파일에 구현 되어있음.


19. binary_search, lower_bound, upper_bound 이분탐색 알고리즘

=> algorithm 헤더파일에 구현 되어있음.




관련 문제들


1. 스택

2. 쇠막대기

3.

4.

5. 최소 힙

6. 최대 힙

7. 수 정렬하기

8. 알파벳 찾기

9. 단어 공부

10. 듣보잡

11. 좌표 정렬하기 2

12. 나이순 정렬

13. 좌표 정렬하기

14. 수 찾기 

15. 빈도 정렬

16. 괄호 

17. 스택 수열

18. 국영수



반응형
Comments