정렬되어 있는 배열에서 데이터를 찾으려 시도할 때, 탐색 범위를 절반씩 줄여가며 찾는 Search 방법예를 들어, 1 2 3 4 5 6에서 4를 찾고자 한다면, 배열의 중간에 위차하는 3과 4를 비교한다. 4는 3보다 크므로, 이제 3의 왼쪽에 위치하는 값들을 탐색할
가능한 경우의 수를 모두 조사해서 정답을 찾는 방법해결하고자 하는 문제의 가능한 경우의 수를 대략적으로 계산가능한 모든 방법을 다 고려실제 답을 구할 수 있는지 적용종류Brute Force : 반복/조건문을 통해 가능한 모든 방법을 단순히 찾는 경우백트래킹
현재 상황에서 지금 당장 좋은 것만 고르는 방법그리디 알고리즘은 기준에 따라 좋은 것을 선택하는 알고리즘이므로 문제에서 ‘가장 큰 순서대로', ‘가장 작은 순서대로'와 같은 기준을 알게 모르게 제시해준다. 대체로 이 기준은 정렬 알고리즘을 사용했을 때 만족시킬 수 있으
1439번: 뒤집기 입력 받은 string에서 문자가 바뀔 때마다 cnt += 1을 해준다. cnt는 변화 횟수를 답고 있고 우리는 0 또는 1 둘 중 하나로만 바꾸면 되기 때문에 //2 해주면 된다. 맨 앞 문자도 cnt에 포함해주어야 하기 때문에 prev를 ‘?’로
인접 행렬 방식 : 2차원 배열에 각 노드가 연결된 형태를 기록하는 방식모든 관계를 저장하므로 노드 개수가 많을수록 메모리가 불필요하게 낭비된다.두 노드가 연결되어 있는지에 대한 정보를 얻는 속도가 비교적 빠르다.인접 리스트 방식 : 모든 노드에 연결된 노드에 대한 정
코딩테스트 연습 - 수식 최대화