이진 탐색 알고리즘 C++
1. 이진 탐색을 하기 위해서 필요한 것, 인덱스, 키, 그리고 찾았다 안찾았다. 이런 변수가 필요합니다.정렬이 되어 있어야 합니다. 헤드와 미드가 있고, 미드의 인덱스 데이터가 그 안에 있으면 그 안에 없으면 각각 미드를 수정합니다. 그리고 데이터가 미드와 같으면 키를 출력하면 됩니다. 오께이. 그리고 찾으면 break 를 하도록 합니다. 이전에 배열에서 이동하기 문제를 풀어보도록 하겠습니다. 이것을 응용 하면 되겠습니다. #include using namespace std;void main() {int data[] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14 };int n = 14;int index = -1;int key;cin >> key; int head = 0;int tai..
2018. 3. 23.
백준 3085 사탕 게임
처음 설계를 할때, 명확하고, 이것이 제대로 돌아가는지, 예외는 없는지까지 고려해야 합니다. 이 문제를 푸는 방법으로는 1. 인접한 사탕을 선택하고, swap 하는 함수2. swap 을 한 후에 가로로, 세로로 연속된 사탕이 몇개 있는지 검사하는 함수 이렇게 2개의 함수로 나누어서 풀이하면 됩니다. /*1908 사탕게임1. 사탕을 교환하는 함수 -> 하나씩 이동하는데, 일단 가로로 인접한 것 2개를 교환, 하는 i,j 그리고 i,j를 이동하는데 아래랑 교환하는 것 이렇게 짜도록 하겠습니다. 조사가 끝나면 다시 i,j 를 그대로 변경해주도록 하겠습니다. 2. 교환한 맵에서 가로, 세로로 같은 것이 가장 긴 맵 찾으면 됩니다. bfs 가 아니라, for 문으로 풀면 되겠습니다. */ #include #inc..
2018. 3. 22.