본문 바로가기
반응형

BT9

(Python/🥈3)백준리즘알고리즘 10974번:모든 순열 문제 바로가기 문제: N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. 입력: 첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다. 출력: 첫째 줄부터 N!개의 줄에 걸쳐서 모든 순열을 사전순으로 출력한다. 풀이: import sys sys.stdin = open('/Users/song/Desktop/Python/Python/h.txt', 'r') n = int(input()) res = [] def bt(x): if n == len(res): print(*res) return for i in range(1,n+1): if i not in res: res.append(i) bt(x+1) res.pop() bt(1) 백트래킹에 조건만 걸어주면 된다. import .. 2023. 7. 23.
(Python/🥇5)백준알고리즘 1759번: 암호 만들기 문제 바로가기 문제: 바로 어제 최백준 조교가 방 열쇠를 주머니에 넣은 채 깜빡하고 서울로 가 버리는 황당한 상황에 직면한 조교들은, 702호에 새로운 보안 시스템을 설치하기로 하였다. 이 보안 시스템은 열쇠가 아닌 암호로 동작하게 되어 있는 시스템이다. 암호는 서로 다른 L개의 알파벳 소문자들로 구성되며 최소 한 개의 모음(a, e, i, o, u)과 최소 두 개의 자음으로 구성되어 있다고 알려져 있다. 또한 정렬된 문자열을 선호하는 조교들의 성향으로 미루어 보아 암호를 이루는 알파벳이 암호에서 증가하는 순서로 배열되었을 것이라고 추측된다. 즉, abc는 가능성이 있는 암호이지만 bac는 그렇지 않다. 새 보안 시스템에서 조교들이 암호로 사용했을 법한 문자의 종류는 C가지가 있다고 한다. 이 알파벳을 .. 2023. 7. 18.
(Python/🥇4)백준알고리즘 2661번: 좋은 수열 문제 바로가기 문제: 숫자 1, 2, 3으로만 이루어지는 수열이 있다. 임의의 길이의 인접한 두 개의 부분 수열이 동일한 것이 있으면, 그 수열을 나쁜 수열이라고 부른다. 그렇지 않은 수열은 좋은 수열이다. 다음은 나쁜 수열의 예이다. 33 32121323 123123213 다음은 좋은 수열의 예이다. 2 32 32123 1232123 길이가 N인 좋은 수열들을 N자리의 정수로 보아 그중 가장 작은 수를 나타내는 수열을 구하는 프로그램을 작성하라. 예를 들면, 1213121과 2123212는 모두 좋은 수열이지만 그 중에서 작은 수를 나타내는 수열은 1213121이다. 입력: 입력은 숫자 N하나로 이루어진다. N은 1 이상 80 이하이다. 출력: 첫 번째 줄에 1, 2, 3으로만 이루어져 있는 길이가 N.. 2023. 7. 1.
반응형