일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 1920
- NavigationBar
- 순차 컨테이너
- Stack
- Reverse Engineering
- Reversing
- ios
- 표준 템플릿 라이브러리
- 스택
- 2020.04.19
- 2020.05.17
- 백준 10828
- Constraint
- UIView
- vector
- UIPanGestureRecognizer
- Animation
- 모달인듯 모달 아닌 뷰
- SWiFT
- scroll
- class
- 알고리즘
- 컴퓨터 구조
- stl
- struct
- Swing
- 컴퓨터구조
- 2020.06.14
- list
- BOJ
- Today
- Total
목록Algorithm (6)
야금야금
문제 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 큐에 들어있는 정수의 개수를 출력한다. empty: 큐가 비어있으면 1, 아니면 0을 출력한다. front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. 입력 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 ..
문제 정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 다섯 가지이다. push X: 정수 X를 스택에 넣는 연산이다. pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 스택에 들어있는 정수의 개수를 출력한다. empty: 스택이 비어있으면 1, 아니면 0을 출력한다. top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. 입력 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보..
문제 한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다. 이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수 있다. 즉 길이가 L인 문자열이 현재 편집기에 입력되어 있으면, 커서가 위치할 수 있는 곳은 L+1가지 경우가 있다. 이 편집기가 지원하는 명령어는 다음과 같다. L 커서를 왼쪽으로 한 칸 옮김 (커서가 문장의 맨 앞이면 무시됨) D 커서를 오른쪽으로 한 칸 옮김 (커서가 문장의 맨 뒤이면 무시됨) B 커서 왼쪽에 있는 문자를 삭제함 (커서가 문장의 맨 앞이면 무..
순차 컨테이너 : 자료를 순차적으로 가지고 있으며 자료의 추가는 빠르지만 탐색의 경우 시간이 많이 걸린다. vector : 동적 배열처럼 동작하며 뒤에서 자료들이 추가된다. - 자료의 추가 시 배열의 크기나 타입을 신경 쓰지 않아도 된다. - 저장할 데이터의 개수가 가변적일때 사용한다. - 편리성을 위해 연산자들이 중복 정의되어있어 대입 연산(v2 = v1), 비교 연산(v1!= v2 / v1 == v2) 등이 사용 가능하다. - 임의접근 반복자를 사용할 수 있다. (인덱스 연산자 [ ] 사용 가능) - 중간에서 데이터의 삽입이나 삭제가 가능하지만 뒤의 모든 요소를 이동해야 하므로 비효율적이다. - 크기를 미리 선언하지 않아도 되지만 위와 같은 이유로 비효율적이다. #include #include usi..
STL (Standard Template Library, 표준 템플릿 라이브러리) : 프로그램에 필요한 자료구조와 알고리즘을 템플릿으로 제공하는 라이브러리 템플릿 기반이기에 어떤 자료형에서도 적용할 수 있다. *템플릿 : C++프로그래밍 언어의 한 기능으로 함수와 클래스가 개별적으로 다시 작성하지 않고도 각기 다른 수많은 자료형에서 동작할 수 있게 하는 틀 구성 - 컨테이너(Container) : 자료를 저장하는 구조 순차 컨테이너 : vector / list / deque / set 연관 컨테이너 : map / multiset / multimap 컨테이너 어댑터 : stack / queue / priority_que - 반복자(iterator) : 컨테이너 안에 저장된 요소들을 참조하기 위한 컴포넌트...
문제 N개의 정수 A[1], A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정수의 범위는 -2^31 보다 크거나 같고 2^31보다 작다. 출력 M개의 줄에 답을 출력한다. 존재하면 1을, 존재하지 않으면 0을 출력한다. 정리 - 크기가 안정해진 배열 입력 - 이진 탐색 (Binary Search) - cin 속도 향상 처음 백준에 알짱대기 시작했을때 크기..