재귀함수는 정의단계에서 자신을 재참조하는 함수전달되는 상태인 매개변수가 달라질 뿐 똑같은 일을 하는 함수큰 문제를 작은 부분문제로 나눠서 풀 때 사용한다.반드시 기저사례를 써야 한다. (종료조건)사이클이 있다면 쓰면 안 된다. ex) f(a)가 f(b)를 호출한 뒤 f
split함수가 뭐에요?예를 들어"aaa bbb ccc" 문자열이 있는데 내가 이걸 띄어쓰기를 기준으로 나눠버리고 싶다.배열에 {aaa, bbb, ccc} 이렇게 담기게 하는 것이다.다음 3줄만 외우면 된다.전체 코드
첫 번째 경우는 1,1,2,2,3,3 의 배열이 있을 때 1, 2, 3 과 같이 뽑아내야 한다고 해보자.첫 번째 경우는 map을 활용하는 것이다.{1 : 1}{2 : 1}.. 과 같이 말이다.범위안의 요소 중 앞에서부터 서로를 비교해가며 중복되는 요소를 제거하고 나머지
누적합이란 요소들의 누적된 합의 의미로 어떠한 배열을 기반으로 앞에서 부터 요소들의 누적된 합을 저장해 새로이 배열을 만들어서 이를 활용하는 것을 말한다.psum\[]이란 배열을 만들어서, 0번 인덱스는 비워두고이런 식으로 구현이 가능하다. 시간복잡도를 확 줄일 수가
정점(vertex)는 노드라고도 불리며 그래프를 형성하는 기본 단위이다. 정점은 분할할 수 없는 객체이자 '점'으로 표현되는 위치, 사람, 물건 등이 될 수 있다.간선(Edge)은 정점을 잇는 선을 의미한다. 관계, 경로 등이 될 수 있다.예를 들어"어떠한 위치나 어떠
exhaustive key search= 노가다모든 경우의 수를 탐색하는 알고리즘모든 경우의 수? 순열 or 조합 + 로직(보통 1억 미만까지 가능하다) 컴퓨터를 믿고 넘기자!보통 1억 미만이면 완전탐색!!1억 이상이면 다른 알고리즘을 생각해보자.단순히 선형적으로 숫자