Algorithm/BackTracking 3

[Python/C++] 백준 10819번 차이를 최대로

문제N개의 정수로 이루어진 배열 A가 주어진다. 이때, 배열에 들어있는 정수의 순서를 적절히 바꿔서 다음 식의 최댓값을 구하는 프로그램을 작성하시오.|A[0] - A[1]| + |A[1] - A[2]| + ... + |A[N-2] - A[N-1]|입력첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다.출력첫째 줄에 배열에 들어있는 수의 순서를 적절히 바꿔서 얻을 수 있는 식의 최댓값을 출력한다.입력 예제620 1 15 8 4 10출력 예제62문제 풀이n크기의 순열을 저장할 리스트를 만들어 연산을 시행할 인덱스 정보를 저장idx == n 조건에서 새로운 순열이 만들어지면 주어진 연산을 수..

[Python] 백준 12919 A와B 2

문제https://www.acmicpc.net/problem/12919입력첫째 줄에 S가 둘째 줄에 T가 주어진다. (1 ≤ S의 길이 ≤ 49, 2 ≤ T의 길이 ≤ 50, S의 길이 출력S를 T로 바꿀 수 있으면 1을 없으면 0을 출력한다.입력 예제ABABABAAAAABAABAABAAAAABAABBA출력 예제110문제 풀이s -> t가 가능한지 탐색한다면 모든 경우의 수를 탐색하게 되므로 시간초과가 발생한다. 따라서 t -> s가 가능한지 문자를 삭제해가며 탐색해야한다.탐색하는 방법도 아래와 같이 뒤집어줘야한다.A를 추가한다 -> A를 삭제한다.맨 뒤에 있는 A를 삭제하기 위해 아래와 같이 인덱스 슬라이싱을 진행한다.result[:-1]B를 추가하고 뒤집는다 -> 뒤집은 후 B를 삭제한다.B를 추가하..