일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- UIView
- list
- Animation
- class
- struct
- 컴퓨터구조
- UIPanGestureRecognizer
- NavigationBar
- stl
- 백준 1920
- 2020.05.17
- 2020.06.14
- Reverse Engineering
- ios
- SWiFT
- Constraint
- scroll
- 알고리즘
- 모달인듯 모달 아닌 뷰
- 표준 템플릿 라이브러리
- Swing
- 스택
- 백준 10828
- BOJ
- 순차 컨테이너
- vector
- Reversing
- Stack
- 2020.04.19
- 컴퓨터 구조
- Today
- Total
목록분류 전체보기 (29)
야금야금
Constraint Animation 아이디어스 어플처럼 화면 스크롤에 맞춰 네비게이션바가 자연스럽게 fade 되는 애니메이션을 구현하려 했으나 이렇게 애니메이션이 적용되지 않았다. layoutIfNeeded를 상위 view에 넣었어야 했는데 카테고리바에 넣어가지고.. 엄한 것만 한참 찾았네.. 결과물 코드 extension NavigationBarFadeAnimation: UITableViewDelegate { func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView) { if scrollView.panGestureRecognizer.translation(in: scrollView).y < 0 { UIView.animate(withDuration..
rm -rf Pods rm Podfile.lock pod install 해결! 출처: https://github.com/grpc/grpc/issues/12172
진행 중인 토이 플젝에서 이런 뷰를 만들고 싶었다. 처음엔 모달인가 라이브러리가 있나 했는데 없는 것 같아서 만들어보았다. +) bottom sheet, floating panel, pan modal 등 아래에서 올라오는 애들은 많은데 위에서 내려오는 애는 사용성이 좋지 못해서 사용하지 않는다고 한다! +) 안드로이드에서의 top sheet 예제: https://taskito.io/dev/android-topsheet 코드 import UIKit class ViewController: UIViewController { @IBOutlet weak var movingView: UIView! @IBOutlet weak var viewIndicator: UIView! @IBOutlet weak var movin..
문제 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. 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 속도 향상 처음 백준에 알짱대기 시작했을때 크기..
[ Lena's Reversing for Newbies ] 프로그램 설명 : 본 프로그램의 정답 Regcode값 외의 값을 입력하면 오류창이 출력되고 해당 값을 입력하면 성공 창이 출력되는 프로그램. 프로그램을 시작했을 때와 해당 버튼을 눌렀을 때 Nag창이 추가로 출력된다. 목표 : ① 모든 Nag창을 제거한다 ② 정답 Regcode값을 찾는다 우선 파일을 실행시켜보자 위와 같은 문구(모든 Nags를 없애고 registration code를 찾아라)와 함께 메시지 박스가 출력된다. 확인 버튼을 누르면 아래와 같은 메인 창이 나타난다. (취소를 누를 경우 프로그램 종료) 해당 창에서 틀린 Regcode값을 입력하면 오류 메시지 박스가 출력되고 Nag? 버튼을 누를 경우 처음 파일을 실행했을 때와 같은 창..