Search
Duplicate

BOJ 1759 암호 만들기

생성일
2024/07/28 04:56
태그
수학
브루트포스 알고리즘
조합론
백트래킹
%EC%95%94%ED%98%B8%20%EB%A7%8C%EB%93%A4%EA%B8%B0.py
Problem

문제 설명

CC개 중에서 LL개를 선택하는 모든 조합 중에서 아래의 조건을 만족하는 경우를 사전순으로 출력하는 문제
조합은 사전순으로 구성
모음의 개수는 1개 이상 / 자음의 개수는 2개 이상

예제 입력/출력

입력1
4 6 a t c i s w
Plain Text
복사
출력1
acis acit aciw acst acsw actw aist aisw aitw astw cist cisw citw istw
Plain Text
복사

제약 조건

3LC153 ≤ L ≤ C ≤ 15

문제 풀이

모든 조합의 경우의 수를 살펴 보면서 조건을 만족하는 경우만 답에 포함시키면 된다.
조합 알고리즘을 직접 구현
풀이1 - O(CCL)O(_CC_L)
최악의 경우 시간 복잡도 계산: 15C7=6,435_{15}C_7 = 6,435
조합 알고리즘 라이브러리를 사용
풀이2 - O(CCL)O(_CC_L)
최악의 경우 시간 복잡도 계산: 15C7=6,435_{15}C_7 = 6,435
풀이1: 직접 구현 (내가 푼 코드)
풀이2: 직접 구현 (다른 사람 코드)
풀이3: 라이브러리 이용

알아두면 좋은 내용들

arr.sort() vs sorted(arr)