참고위 두 개의 코드의 실행결과는 어떨까?각각 0, 10이다.첫 번째는 int를 함수 인자로 보내면 값이 복사되어 넘어간다. 그러니 함수에서 값을 바꾼다고 main의 변수 t에는 영향을 줄 수 없다.두 번째는 func에 int 배열 arr를 인자로 주는게 arr의 주소
배열의 성질 O(1)에 k번째 원소를 확인/변경 가능 추가적으로 소모되는 메모리의 양(overhead)가 거의 없음 Cache hit rate가 높음 메모리 상에 연속한 구간을 잡아야 해서 할당에 제약이 걸림 책장을 생각하자. 임의의 위치에 있는 원소를 확인, 변경
BFS는 그래프라는 자료구조에서 노드를 방문하기 위한 알고리즘이다.우리의 목표는 (0,0)과 상하좌우로 이어진 모든 파란색 칸을 확인하는 것이다.우선 BFS 알고리즘에서는 좌표를 담을 큐가 필요하다.BFS 알고리즘이 시작되면 우선 (0,0)에 방문했다는 표시를 남기고
DFS : 다차원 배열에서 각 칸을 방문할 때 깊이를 우선으로 방문하는 알고리즘 BFS : 다차원 배열에서 각 칸을 방문할 때 너비를 우선으로 방문하는 알고리즘 시작하는 칸을 스택에 넣고 방문했다는 표시를 남김 스택에서 원소를 꺼내어 그 칸과 상하좌우로 인접한 칸에
https://blog.encrypted.gg/943도미노가 모두 쓰러지는지를 설명해보라 한다면 두 가지 방법이 있다.편의상 앞에서부터 1번, 2번 ... 도미노라 한다면 첫 번째 설명은 1번이 넘어져서 2번이 넘어지고, 2번이 넘어져서 3번이 넘어지고....
현재 상태에서 가능한 모든 후보군을 따라 들어가며 탐색하는 알고리즘N과M....
여러 개의 하위 문제를 먼저 푼 후 그 결과를 쌓아올려 주어진 문제를 해결하는 알고리즘피보나치 수열의 N번재 항을 지금처럼 재귀적으로 구하면 중복된 연산이 계속 발생해서 O(1.618^N)의 시간이 걸린다.DP로 해결하면 미리 배열을 만들어두고 0번째 인덱스부터 하나씩