두개의 위치 바꾸기
vector - 삽입, 삭제, 초기화 이용
sort 정렬 이용하기(정렬할 때, 최대최소 구할때)
배열 인덱스와 요소 연관시켜보기
floyd의 순환 찾기 알고리즘(거북이와 토끼) : 거북이 한칸,토끼 두칸씩
거북이와 토끼 포인터가 처음 만나면
거북이 포인터를 다시 시작으로 이동 한 다음
거북이와 토끼를 한 번에 한 단계 씩 이동하여주기의 시작을 결정할 수 있다.
그들이 처음 만나는 지점은 사이클의 시작입니다.
https://cs.stackexchange.com/questions/10360/floyds-cycle-detection-algorithm-determining-the-starting-point-of-cycle
a+b=b+a
배열에 값 저장해놓기
벡터 안바뀌게하려면 벡터 복사하기
2차원 벡터에 push_back()하려면 1차원 벡터 만들어서 1차원 벡터에 값넣고 1차원 벡터 넣기
string a=""; //빈 스트링 만들고
a+=dartResult[i]; //더해서 넣기
이진탐색으로 더 빠르게 탐색하기(sort로 정렬 후 사용하면 유용 )
자료구조 뭐쓸지 생각하기
//에라토스테네스의 소수 필요충분조건 : 2보다 크면서 자기 자신의 제곱근까지의 수에 나눠지지않는 수
유클리드호제법 a=qb+r에서 gcd(a,b)=gcd(b,a%b(나머지,r)) 나누어떨어질때까지(r=0일 때까지)
https://sseong40.tistory.com/3
병합정렬
Lower, Upper bound알고리즘은 기본적으로 이진탐색에서 응용하는 알고리즘
Lower bound 란 찾고자 하는 값 이상이 처음 나타나는 위치
Upper bound 란 찾고자 하는 값보다 큰 값이 처음으로 나타나는 위치
두 개의 차로 찾고자하는 값이 몇개있는지 파악
다이나믹 프로그래밍 : 하나의 문제는 단 한 번만 풀도록 하는 알고리즘