전체 글160 C++ 야구 게임 ( 백준 2503) 완전 탐색 문제 https://www.acmicpc.net/problem/2503 입력 첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트라이크 개수를 나타내는 정수와 볼의 개수를 나타내는 정수, 이렇게 총 세 개의 정수가 빈칸을 사이에 두고 주어진다. 출력 예상 가능한 숫자 예시 예제 입력4 123 1 1 356 1 0 327 2 0 489 0 1 예제 출력2 ------------------------------------------------------------------------------------------------------------------.. 2019. 1. 23. C++ Binary Search 특정 숫자 찾기 정렬되어 있는 상태에서 지혜롭게 찾기 위해서 사용하는 방법 Binary Search 1 3 5 6 8 9 10 에서 9를 찾기 위해서는 우선 가운데 값을 9와 비교해 본다. 가운데 값 6은 9보다 작기 때문에 9는 오른쪽에 존재 한다. 그래서 왼쪽 값들은 버리다. 8 9 10 또 다시 가운데 값인 9와 비교해 본다. 결과적으로 9를 찾았다. --------------------------------------------------------------------------------------절반씩 찾아가기 때문에 O(log N) 만큼 걸린다. 하지만 정렬을 해야 하기 때문에 O(N longN) 만큼 걸린다. 결국 - 숫자 별로 없는데 찾는걸 많이 사용하는데 사용하는 알고리즘 - 이미 정.. 2019. 1. 22. C++ 퀵 정렬 1. pivot 을 정하기 -> O(1)2. 작거나 같은 값을 정렬 -> O(n) 만큼 걸린다. 3. 각각을 퀵정렬 한다. 퀵정렬은 O(n log n ) 하지만 최악의 경우는 O(n^2) 이 된다 이유는 pivot 을 잘 잡아야 한다. 중간값을 잘 잡아야 한다. --------------------------------------------------------------------------------------- pivot 보다 작은 값을 왼쪽에 큰 값을 오른쪽에 두고 4 7 8 9 1 2 3 9 1 10 4가 pivot 이면 1 2 3 1 / 4 / 7 8 9 10 왼쪽 오른쪽은 같은 방법으로 계산하면 된다. #include using namespace std; int getRigth(int arr.. 2019. 1. 21. C++ 합병정렬 합병정렬은 4 3 2 1 9 이면 반으로 나눠서 정렬을 하고 다시 합치는 방법이다 그래서 쪼개는 과정이 재귀함수를 사용하면 된다. 4 3 2 / 1 9 4, 3, 2 서로 비교하게 되면 2 3 4가 된다 1, 9 서로 비교하게 되면 1 9 가 된다 . -------------------------------------------------------------------------------------------- 2 3 4 / 1 9 p q p하고 q 비교 >> 1---------------2 3 4 / 1 9 p q p하고 q 비교 >> 1 2 ---------------2 3 4 / 1 9 p q p하고 q 비교 >> 1 2 3---------------2 3 4 / 1 9 p q p하고 q 비교 .. 2019. 1. 21. C++ 소인수분해 소인수 분해 소수로 나누는 것들 72 2 2 2 3 3 #include #include using namespace std; int num; // 입력받을 숫자int k = 2; // 2부터 1씩 증가하는 숫자 int main() { cin >> num; while (num != 1) { if (num % k == 0) { cout 2019. 1. 11. C++ 룩 찾기 입력 8줄에 걸쳐 8x8 체스판의 상태가 주어진다. 이때 0은 기물이 없는 상태이고, 1은 알랩이의 킹을 의미하고, 2는 상대의 룩을 의미하며 3은 그 외 다른 기물들을 의미한다. (킹은 하나만 존재하며, 상대의 룩은 최대 2개까지 있을 수 있다. 그 외 기물들은 최대 29개까지 있을 수 있다.) 출력 킹이 룩에게 잡힐 가능성이 있으면 1, 아니면 0을 출력한다. 약간 무식하게 풀었음,,, 0 3 0 0 0 0 0 0 3 1 0 0 0 0 2 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 #include #include using namespace std; int main() .. 2019. 1. 11. 이전 1 ··· 20 21 22 23 24 25 26 27 다음