알고리즘(アルゴリズム)/알고리즘 이모저모(アルゴリズムの緒論) 썸네일형 리스트형 반례(counterexample)를 자동으로 찾아 주는 코드(Python/C) 가끔 문제를 풀다 보면 예제도 다 통과했는데 도대체 왜 틀렸는지 알 수 없는 문제들이 있다. (왜맞틀?????) 그럴 때 진짜 답답해서 미쳐버릴 거 같은 심정으로 반례를 찾아 헤매는데 이게 찾기 쉽지 않다. 그럴 때는 반례 생성기를 만들어서 찾으면 된다. 이 반례 생성기는 백준 1654문제를 기준으로 만들었다. 총 3단계에 걸쳐서 작성을 한다. Python 1. 예제 생성 함수 작성( EX.입력값) 우선 example()이라는 예제 생성 함수를 만든 뒤, 문제에 맞춰서 randint()으로 최소 값, 최대 값 주고 예제를 생성하면 된다. 원래 1 더보기 수열에서 중앙값을 최적으로 구하는 알고리즘(백준 1655번) 문제 출처 https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 중간값 구하기 알고리즘은 다음과 같다. 1. 최대 힙의 크기는 최소 힙의 크기와 같거나, 하나 더 크다. 2. 최대 힙의 최대 원소는 최소 합의 최소 원소보다 작거나 같다. 이때 알고리즘에 맞지 않다면 최대 힙, 최소 힙의 가장 위의 값을 swap해준다. [결과] 이때 이 두가지 규칙을 유지해 준다면 항상 최대 힙 top값이 중간값이 된다. 예시 그림을 통해 어떻게 구현.. 더보기 이전 1 2 3 다음